Import-Csv
とExport-CSV
を試してみました。CSVファイルのサンプルデータ
文字コード:UTF8、改行:CRLF、BOM:無し"ヘッダー1","ヘッダー2","ヘッダー3"
a,1,2
b,3,4
c,5,6
スクリプト
#
# CSVファイルの読み書きのサンプル
#
$in_path = "H:\script\csv-sample-in.csv"
$ex_path = "H:\script\csv-sample-ex.csv"
# 読み込み(インポート)
$incsv = Import-Csv -Path $in_path -Encoding UTF8 # -Header <string[]> ヘッダの追加 -Delimiter 区切り文字を指定
$incsv | % {
$_
}
# 出力用の配列を複製
$excsv = @()
$incsv | % {
$rec = New-Object psobject -Property @{"ヘッダー1"=$_.ヘッダー1;"ヘッダー2"=$_.ヘッダー2;"ヘッダー3"=$_.ヘッダー3}
$excsv = $excsv + $rec
}
# CSVのヘッダー(項目名)に日本語は…
# 一件追加してみる
$rec = New-Object psobject -Property @{"ヘッダー1"="d";"ヘッダー2"=7;"ヘッダー3"=8}
$excsv = $excsv + $rec
# 書き込み(エクスポート)
$excsv | Export-CSV -Path $ex_path -Encoding UTF8 -NoTypeInformation
CSVファイルのエクスポートの結果
文字コード:UTF8、改行:CRLF、BOM:無し"ヘッダー1","ヘッダー3","ヘッダー2"
"a","2","1"
"b","4","3"
"c","6","5"
"d","8","7"
感想
既に存在するCSVファイルを読み込み1件追加して出力するスクリプトのつもりです。
コメント