管理人Kのひとりごと

デジモノレビューやプログラミングや写真など

CSVファイルの内容の重複を除いて結合する(Powershell)

Powershellを使って、CSVファイルの内容の重複を除いて、結合したくなったのでメモ。
対象のファイルは以下のような、一部内容に重複のあるファイル。

a.csv
日付,品目,価格
2017/3/3,りんご,150
2017/3/3,みかん,130
2017/3/4,キウイ,200

b.csv
日付,品目,価格
2017/3/3,みかん,130
2017/3/4,キウイ,200
2017/3/4,バナナ,200
2017/3/4,ぶどう,400

c.csv
日付,品目,価格
2017/3/4,ぶどう,400
2017/3/5,りんご,150
2017/3/5,キウイ,200

内容の重複を除いて、結合するには以下のようにすると良し。

Get-ChildItem *.csv | ForEach-Object{Import-Csv $_} | Sort-Object -Property 日付,品目,価格 -Unique

結合結果は以下のようになります。Export-CSVCSVファイルとして出力できます。

日付     品目   価格
----     ----   ----
2017/3/3 みかん 130
2017/3/3 りんご 150
2017/3/4 キウイ 200
2017/3/4 バナナ 200
2017/3/4 ぶどう 400
2017/3/5 キウイ 200
2017/3/5 りんご 150