読者です 読者をやめる 読者になる 読者になる

PowerShell で CSV ファイルを読み込む

PowerShellCSV ファイルを読み込むには、 Import-Csv コマンドレットを使用する。

基本的な使い方

入力サンプル

以下のような ASCII だけで構成された CSV ファイルを想定する。

PS> Get-Content file.csv
Name,Height,Weight
tako,96,93
ika,21,75
ebi,64,23
kani,28,24

file.csv を読み込んで、変数 csv に格納する

PS> $csv = Import-Csv file.csv

読み込んだ CSV を表示する

PS> $csv

Name Height Weight
---- ------ ------
tako 96     93
ika  21     75
ebi  64     23
kani 28     24

CSV から特定の列(カラム)を取り出す

"$変数名.列名" で特定の列を取り出せる。以下の例では、 "Name" 列を取り出している。

PS> $csv.Name
tako
ika
ebi
kani

CSV から特定の行(レコード)を取り出す

パイプラインで出力を Where-Object コマンドレットに渡し、絞り込み条件を指定することで、特定の行を取り出せる。以下の例では、"Name" 列 が "tako" である行を取り出している。

PS> $csv | Where-Object { $_.Name -eq "tako" }

Name Height Weight
---- ------ ------
tako 96     93

ここで、 "$_" はパイプラインで渡されたオブジェクトを表す。上記の例では、 "$csv" が該当する。

エイリアス

Import-Csvエイリアスとして、 ipcsv が使用可能である。

PS> $csv = ipcsv file.csv