いてづきブログ

情シスでやってみたことの備忘録

PowerShellでcsvを読み込む

もう使い古されたネタかもしれないけど自分用備忘録。

以下の様なmembers.csvを定義する。
1行めがヘッダになっていて、この名前を使って値を取得したり、条件を設定することができる(らしい)

group,name,address
group1,hoge,hoge@foo.com
group1.moge,moge@foo.com
group2,hoge,hoge@foo.com
group2,piyo,piyo@foo.com


groupを重複無しで取得するには以下の構文を使用する

Import-Csv members.csv | select group -unique


出力結果は、

group1
group2

になるはず。



今度は、group1に属するデータだけを取得する構文。

$group = "group1"
Import-Csv members.csv |Where-Object {$_.group -eq $group}

出力結果は、

group1,hoge,hoge@foo.com
group1.moge,moge@foo.com

になるはず。

結構SQLに似ているので、知ってる人はイメージがつきやすいかも?
他にもSelect-Objectとかもあるみたいだけど、今回は使わなかったので割愛。