もくじ
📝 はじめに
PowerShellでデータを扱う場面では、
CSVファイルを読み込んで処理したいケースが非常に多くあります。
例えば、
「一覧データを1行ずつ処理したい」
「条件に合う行だけ抽出したい」
といった要望です。
そんなときに基本となるのが
Import-Csv です。
この記事では、PowerShellでCSVをオブジェクトとして読み込む基本を、
初心者でも理解しやすいように解説します。
- CSVの内容をPowerShellで処理したい
- 列名を使ってデータを扱いたい
- Excel以外でCSVを操作したい
✅ このコマンドでできること(要点)
- CSVファイルをオブジェクトとして読み込める
- 列名をプロパティとして扱える
- Where-Object や Sort-Object と組み合わせ可能
- 1行ずつ安全に処理できる
✅ Import-Csv でできること
Import-Csv は、
CSVファイルを単なる文字列ではなく、
「列名付きのオブジェクト」として読み込みます。
そのため、列番号ではなく
列名を指定して直感的に処理できるのが大きな特徴です。
🧩 基本構文
Import-Csv ファイルパス
最低限これだけでCSVを読み込めます。
▶ 基本的な使い方(まずこれだけ)
🔹 CSVを読み込んで内容を表示する
Import-Csv data.csv
CSVの各行がオブジェクトとして表示されます。
列名が見えていれば正しく読み込めています。
🔹 特定の列だけを表示する
Import-Csv data.csv | Select-Object Name, Age
列名を指定して必要な項目だけ確認できます。
🛠 よく使われる指定例
🔹 条件に一致する行だけ抽出する
Import-Csv data.csv | Where-Object Age -gt 30
数値条件で行を絞り込めます。
🔹 並び替えて表示する
Import-Csv data.csv | Sort-Object Name
CSVの内容を並び替えて確認できます。
💼 実務でよく使う使用例(応用)
🔹 CSVを1行ずつ処理する
Import-Csv data.csv | ForEach-Object {
"$($_.Name) : $($_.Age)"
}
各行を個別に処理できます。
🔹 集計処理と組み合わせる
Import-Csv data.csv | Measure-Object Age -Average
- Where-Object で条件抽出
- Select-Object で列整理
- Export-Csv で結果を書き出し
🧩 よくある勘違い・つまずきポイント
- 1行目はヘッダー(列名)として扱われる
- 数値も文字列として読み込まれる場合がある
- 区切り文字がカンマ以外だと読み込めない
- 文字コードの違いで文字化けすることがある
- 大きなCSVでは処理に時間がかかる
🔄 cmdとの違いについて
cmd では CSV を構造化データとして扱うのが難しく、
行単位・文字列ベースの処理になりがちです。
PowerShell の Import-Csv は、
列を意識した処理ができる点が大きな違いです。
⚠ エラー・うまく動かないときの確認ポイント
- ファイルパスが正しいか
- CSVの区切り文字がカンマか
- 文字コードの違いがないか
- ヘッダー行が正しく存在するか
🧠 注意点
CSVは一見シンプルですが、
データの形式や文字コードにばらつきがあります。
実務では小さなサンプルで確認してから
本処理を行うのがおすすめです。
📌 まとめ
- Import-Csv はCSVをオブジェクトとして読み込む基本コマンド
- 列名を使って直感的に操作できる
- 他のコマンドと組み合わせることで強力になる
- 次は Export-Csv とセットで覚えると便利
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探せます。
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- CSVを読み込みたい
- データを一括処理したい
