Powershellで複数のCSVファイルを特定の列で1つのファイルにマージ
概要
以下2つのCSVを共通の列名"HeaderA"でまとめたCSVにしたい!
A.csv
HeaderA,HeaderB ValueA,ValueB
B.csv
HeaderA,HeaderC ValueA,ValueC
以下Powershellスクリプトで実現。
get-childItem "*.csv" | foreach { Import-Csv -Path $_ | Select HeaderA | Export-Csv -Append -NoTypeInformation -Path AB.csv }
備考/感想
- Selectに存在しないヘッダーを選んでも大丈夫(無いものは空文字になる)
- 結果ファイルの全部のデータがダブルクォーテーションで囲まれて出力される。注意。
- もちろんヘッダー指定は複数でもOK("Select HeaderA, HeaderB"という感じ)