LoginSignup
2
1

More than 1 year has passed since last update.

PowerShellでCSV操作 列の選択・削除、並び替え、条件指定など

Last updated at Posted at 2022-03-03

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
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1