[登録されているタグ]

[記事公開日]2025/12/20

PowerShellでCSVを読み込む|Import-Csvの使い方

📝 はじめに

PowerShellでデータを扱う場面では、
CSVファイルを読み込んで処理したいケースが非常に多くあります。
例えば、
「一覧データを1行ずつ処理したい」
「条件に合う行だけ抽出したい」
といった要望です。

そんなときに基本となるのが
Import-Csv です。
この記事では、PowerShellでCSVをオブジェクトとして読み込む基本を、
初心者でも理解しやすいように解説します。

こんな場面で便利

  • CSVの内容をPowerShellで処理したい
  • 列名を使ってデータを扱いたい
  • Excel以外でCSVを操作したい

✅ このコマンドでできること(要点)

  • CSVファイルをオブジェクトとして読み込める
  • 列名をプロパティとして扱える
  • Where-ObjectSort-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を読み込みたい
  • データを一括処理したい
Generic filters

サイト内検索(入力すると候補が出ます)

Generic filters


Generic filters

Generic filters

すべてを開く | すべてを閉じる
ページ上部へ戻る