PowerShellでCSVファイルを結合してみた。

まあ結合できるからってどうということもないのですが、そのうち何かの役に立つかもしれないので備忘録として残しておきます。

Windows Vista SP2 の PowerShell 1.0 で出来たことなので、おそらく以降のどのバージョンでも同じやり方で出来るはずです。

 





   




   

 

まずはメモ帳でCSVファイル(カンマ区切り)を二つ作成します。

ファイル名は「a.csv」と「b.csv」で、どちらも「平仮名」と「alphabet」というフィールド名の二列構成です。

データ部を3行とし、フィールド名含め全体で4行となるように記述します。

なお、今回のように全角文字を含むCSVファイルの場合、文字コードが「ANSI」のままだと後で文字化けしてしまうので、「Unicode」で保存します。

 

 

両ファイルの実際の記述はこんな感じです。

︎--- [ a.csv ] ---

平仮名,alphabet

い,a

ろ,b

,c

-----------------

 

--- [ b.csv ] ---

平仮名,alphabet

ほ,d

へ,

と,f

-----------------

 

 

これら2つのファイルを結合し、新たに「c.csv」を作成するためには、PowerShell で下記4行のスクリプトを実行します。

$a = Import-Csv a.csv

$b = Import-Csv b.csv

$c = $a + $b

$c | Export-Csv c.csv -encoding Unicode

 

 

最後に、ちゃんと結合できたか確認するため、

Import-Csv c.csv

を実行します。

文字化けすることなく、フィールド名が維持され、データ部が結合されて6行になっていれば成功です。