PowerShellでCSVファイルからデータを抽出する

PowerShellを使ってCSVファイルから抽出条件に合致したデータを別のファイルに出力します。
実行環境:Windows 11 Home, Powershell 7.4.1

データの準備

以下のようなCSVファイル(C:\CSV\MORTOR_CYCLE.csv)を用意します。

CSV
CSV

スクリプト実行

検索条件「メーカー=”YAMAHA” かつ 排気量が249ccより小さい」のデータを抽出してファイル出力するスクリプトを実行します。

PSコマンド

(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:含まない(*でワイルドーカードを指定)

結果確認

条件に合致したデータだけがファイル出力されました。

CSV
CSV