この記事では、CSV ファイルを読み込み、不要な列を除き 特定の列だけを別の CSV ファイルに出力する PowerShell のサンプルコードを紹介します。
実行イメージ
まずはCSVファイルを読み込みます。
CSV ファイルには 「ID」「名前」「年齢」「プログラミング経験」 の 4 列があるとします。

このうち 「ID」 と 「名前」 の列だけを抽出して、別の CSV ファイルとして出力します。
不要な列(年齢、プログラミング経験)は除去します。

以下のようなファイル構成を想定しています。
- 入力ファイル(CSVファイル)
- 出力ファイル(列絞り込みした結果のCSVファイル) ※最初はファイルがなくてもよいです。作成されます。
- powershellの実行ファイル

ソースコード
以下のコマンド、ps1ファイル、入力ファイル(サンプル)を準備しておきます。
コマンド
powershell -ExecutionPolicy RemoteSigned -File "selectCsvFile.ps1"
サンプルコード:whereCsvFile.ps1
# CSVファイル入力
$getContent = Import-Csv .\01.input.csv -Encoding UTF8
# 列絞り込み
$getSelect = $getContent |Select-Object -Property "ID","名前"
# CSVファイル出力
$getSelect | 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」を開きます。
出力ファイルのCSVは「ID」と「名前」の列の実が出力されています。

参考情報
環境
下記の環境で作成・実行しております。
| No. | 環境 | バージョン |
|---|---|---|
| 1 | OS | Windows11 |
| 2 | PowerShell | 7.5.4 |
以上です。