【PowerShell講座】CSVデータ入出力について

女性

※この記事は「2023年8月1日」に更新しました。

PowerShell(パワーシェル)講座です。

第5回目は、CSVデータ入出力について。

環境は、Windows 10(64bit)、PowerShell 6.1.2 です。

ぱそた
SE、Web制作、販売を経験した管理人が解説します。

CSVデータとは

CSVデータとは、コンマで区切られた非常にシンプルなデータ形式です。

データ交換用としては、古くから利用されている汎用的なものです。

年賀状ソフトの住所録を移行したことがある方。

もしかしたら聞いたことがあるのではないでしょうか?

年賀状ソフトが異なるとファイル形式が違うため、本来は難しいはずです。

しかし、CSVファイルに一度変換して、新しいソフトにそれぞれの項目を関連付けて、読み込むことで移行できます。

CSVファイルは、Excel でも読み込むことができるので簡易データベースとしても利用できます。



オブジェクトを CSVデータに変換

まずは、前回利用した、連想配列でカスタムオブジェクトをつくります。

$a = [PSCustomObject]@{名前 = "ぱそた"; 性別 = "男"; 得意な言語 = "PHP"},
[PSCustomObject]@{名前 = "あどみん"; 性別 = "女"; 得意な言語 = "なし"},
[PSCustomObject]@{名前 = "じょん"; 性別 = "男"; 得意な言語 = "C言語"}

次に、CSVデータに変換していきます。

オブジェクトを CSV に変換するには、ConvertTo-Csv を使います(コマンドレット)。

$b = $a | ConvertTo-Csv
ぱそた
ちなみに | は、パイプというものです。

実行結果を受け渡すことができます。

PowerShell の最大の特徴としてオブジェクトをパイプできるという利点がありましたが、今回が正にそれです。

実行結果は、下記の通りです。

PowerShell

CSVデータをオブジェクトに変換

今度は逆に CSVデータをオブジェクトに変換します。

ぱそた
ConvertFrom-Csv を使います。
$c = $b | ConvertFrom-Csv

練習なんで、適当な変数名でやってます。

実際は、もっとわかりやすくした方が良いです。

実行結果は、下記の通りです。

PowerShell

CSVファイルに書き出す

オブジェクトを CSVファイルとして書き出すことも可能です。

一番最初に生成したカスタムオブジェクト($a)を使います。

$a | Export-Csv -Path sample.csv

実行すると、カレントディレクトリに sample.csv が生成されるはずです。

CSVファイルを読み込む

ぱそた
続いて、CSVファイルを読み込んで、変数に格納します。
$d = Import-Csv -Path ./sample.csv

実行結果は、下記の通りです。

PowerShell

最後に

今回は、CSVデータ入出力について、解説しました。

前回は、配列について紹介しました。

女性

【PowerShell講座】配列について

2019年2月4日

次回は、オブジェクト操作について紹介します。

ビジネス

【PowerShell講座】オブジェクト操作について

2019年2月8日

パイプを上手く活用できるように練習していきます。