更新日:2019/04/08
Powershellの配列を CSV (Comma Separated Values) へ出力するサンプルコードを紹介します。
配列である $mytable に格納された値を CSV ファイルであるc:\temp3\test.csv"に書き出します。
結果として以下のようなファイルが出力されています。
サンプルコード:
$mytable=@("apple","orange","grape")
$mytable | Out-File -FilePath "c:\temp3\test.csv"
======
apple
orange
grape
======
以下は数値タイプの配列の実行結果です。正常に動作しています。
サンプルコード:
$mytable=@(1,2,3,4,5)
$mytable | Out-File -FilePath "c:\temp3\test.csv"
======
1
2
3
4
5
======
文字列と数値が混在した配列でも正常に動作します。
サンプルコード:
$mytable=@(1,2,3,"apple","orange")
$mytable | Out-File -FilePath "c:\temp3\test.csv"
======
1
2
3
apple
orange
======
Out-File の CSV ファイルのデフォルトの文字コードは UTF-8 のようです。例えば Shift-JISで出力するには -Encoding ASCII を指定します。
サンプルコード:
$mytable=@("apple","orange","grape")
$mytable | Out-File -Encoding ASCII -FilePath "c:\temp3\test.csv"
CSV ファイルに追加したい場合は -append オプションを使用します。
サンプルコード:
$mytable=@("apple","orange","grape")
$mytable | Out-File -Encoding ASCII -append -FilePath "c:\temp3\test.csv"
プログラムを実行するたびに以下のように追加されていきます。
======
apple
orange
grape
apple
orange
grape
apple
orange
grape
apple
orange
grape
======
逆に読み込むような場合は以下のコードを利用します。
サンプルコード:
$mytable2 = import-csv "c:\temp3\test.csv" -header "dummy"
[Powershell FAQ トップへ]
[FAQ CENTER トップ]