PowerShellを使ってCSVファイルから抽出条件に合致したデータを別のファイルに出力します。
実行環境:Windows 11 Home, Powershell 7.4.1
データの準備
以下のようなCSVファイル(C:\CSV\MORTOR_CYCLE.csv)を用意します。
スクリプト実行
検索条件「メーカー=”YAMAHA” かつ 排気量が249ccより小さい」のデータを抽出してファイル出力するスクリプトを実行します。
(1) 抽出条件をWhere-Objectに渡してファイル出力します。
> $file = "MORTOR_CYCLE"
> $sel1 = "YAMAHA"
> $sel2 = "249"
> Import-Csv $($file+".csv") -Encoding utf8 | Where-Object {$_.maker -eq $sel1 -and $_.displacement -lt $sel2} | Export-Csv $($file+"_$sel1.csv") -UseQuotes Never -Encoding utf8BOM
※ Where-Objectに項目($_.maker1, $_displacement)と条件値($sel1, $sel2)を設定します。条件式は -and, -or で複数指定できます。
・比較演算子
-eq:等しい
-ne:等しくない
-lt:より小さい
-le:以下
-gt:より大きい
-ge:以上
-like:含む(*でワイルドーカードを指定)
-notlike:含まない(*でワイルドーカードを指定)
結果確認
条件に合致したデータだけがファイル出力されました。