CSVファイルを読み込んで、条件で絞り込んでCSVファイルに出力するPowerShellのサンプルコード

PowerShell
記事内に広告が含まれています。

CSVファイルを読み込んで、条件で絞り込んでCSVファイルに出力するPowerShellのサンプルコードを紹介します。

《広告》

実行イメージ

まずはCSVファイルを読み込みます。

列名が「ID」、「名前」、「年齢」、「プログラミング経験」の4列定義されています。

ここでは例として以下の条件で絞り込んでみます。

年齢 >= 14 AND プログラミング経験 <= 6

フォルダ構成は以下のような感じです。

  • 入力ファイル(CSVファイル)
  • 出力ファイル(抽出結果のCSVファイル) ※最初はファイルがなくてもよいです。作成されます。
  • powershellの実行ファイル

ソースコード

以下のコマンド、ps1ファイル、入力ファイル(サンプル)を準備しておきます。

コマンド

powershell -ExecutionPolicy RemoteSigned -File "whereCsvFile.ps1"

サンプルコード:whereCsvFile.ps1

# CSVファイル入力
$getContent = Import-Csv .\01.input.csv -Encoding UTF8

# 年齢 => 14 AND プログラミング経験 <=6
$getWhere = $getContent |Where-Object {$_."年齢" -ge "14" -and $_."プログラミング経験" -le "6"}
                                              
# CSVファイル出力
$getWhere | Export-CSV .\02.output.csv -Delimiter "," -Encoding utf8 -NoTypeInformation

入力ファイル:01.input.csv

ID,名前,年齢,プログラミング経験
2222,山田次郎,12,1
1111,山田太郎,11,2
3333,山田三郎太,13,3
4444,山田四郎,14,4
6666,山田六郎,16,5
7777,山田七郎,16,6
5555,山田五郎,15,7

テスト実行

実行手順

PowerShellのターミナルからwhereCsvFile.ps1を実行するコマンドを打ちます。

実行結果

実行すると、出力ファイル「02.output.csv」が作成されます。※既にある場合は上書きされます。

そして出力ファイル「02.output.csv」を開きます。

「年齢」、「プログラミング経験」の条件により絞り込みができていることが確認できました。

参考情報

環境

下記の環境で作成・実行しております。

No.環境バージョン
1OSWindows11
2PowerShell7.5.4
環境一覧

以上です。

プロフィール

この記事を書いた人
田舎のエンジニア

日本の田舎に住むITエンジニアです。
かつては新卒から東京都内で活動していました。
30歳を過ぎたころから都会の生活に疲れ果て、某田舎に引っ越しました。
現在はノーコード、クラウド(Azure)、C#などをよくやります。
ただ少し金欠になった都合で、自宅ではコストのかからないことをしています。
モノ作りがとても好きです。

田舎のエンジニアをフォローする