CSVファイルの取り込み
Import-CSV
を用いて、CSVファイルをオブジェクトとして変数に代入します。
$csv = Import-CSV .\input.csv -Delimiter "," -Encoding utf8
元のCSVが煩雑なデータの場合、この時点で合わせてsortを実行しておくと良いかもしれません。
$csv = Import-CSV .\input.csv -Delimiter "," -Encoding utf8 | sort @{Expression="Date";asc=$true};
列の指定
Select-Object
を文字いて、CSVのヘッダー(列名)を指定します。
これのより任意の列順を指定できるとともに、不要列の除外も可能です。
※列名に日本語が含まれる場合は、ps1ファイルの文字コードをshift-jisにすることで実行エラーを回避できるかと思います。
$csv = $csv | Select-Object -Property "Date","Name","Notes","住所","電話番号"
条件指定
Where-Object
で条件を指定し、データの絞り込みを行うことも可能です。
例えば、2020年1月1日以降のデータに絞り込みたい場合は以下のように記述するとよいでしょう。
$csv = $csv | Where-Object {($_."Date" -ge "2020-01-01")};
CSVファイルの出力
Export-CSV
を用いて、整形したcsvファイルをエクスポートします。
$csv | Export-CSV .\output.csv -Delimiter "," -Encoding utf8 -NoTypeInformation