BLOG

ブログ

PowerShellによるCSV統合処理の自動化

1. 導入

日次や月次で出力されるCSVファイルを、一括で1つのファイルに統合したいという場面は多くあります。しかし、各ファイルのデータがどこから来たのかわからないと分析が難しくなることもあります。

本記事では、PowerShellを使って複数のCSVファイルを自動で統合し、元のファイル名を1列として追加する方法を紹介します。

2. 解決したい課題

  • 複数のCSVファイルを1つに統合したい
  • 各レコードの出所(元ファイル名)を明記したい
  • CSVファイルの先頭にあるヘッダー行をスキップしたい
  • 共通のヘッダーを出力ファイルに付けたい

3. スクリプトの構成と処理の流れ

以下の処理をPowerShellで自動化します:

処理内容詳細
① CSVの取得指定フォルダ内のCSVファイルを一括取得(ファイル名パターン指定可)
② スキップ処理ヘッダー行など先頭n行を読み飛ばす
③ ファイル名追加各レコードの末尾に元ファイル名を追加
④ ヘッダー追加出力ファイルの先頭に共通ヘッダーを追加
⑤ ファイル出力1つのCSVにまとめて保存

4. 入出力ファイルのイメージ

📁 入力ファイル(例)

C:\Users\your_name\Downloads\csv_folder に以下のCSVがあると仮定します:

SALES_202401.csv:
項目A,項目B,日付
単価(円),カテゴリ,出荷日
1000,家電,2024/01/01
2000,家具,2024/01/02

SALES_202402.csv:
項目A,項目B,日付
単価(円),カテゴリ,出荷日
1500,家電,2024/02/01
2500,雑貨,2024/02/02

✅ 出力ファイル(merged_output_with_filename.csv):
項目A,項目B,日付,元ファイル名
1000,家電,2024/01/01,SALES_202401.csv
2000,家具,2024/01/02,SALES_202401.csv
1500,家電,2024/02/01,SALES_202402.csv
2500,雑貨,2024/02/02,SALES_202402.csv

5. スクリプト全文と解説


$inputFolder = "C:\\Users\\your_name\\Downloads\\csv_folder"
$outputFolder = "$inputFolder\\output"
$outputFile = "$outputFolder\\merged_output_with_filename.csv"
$filePattern = "SALES*.csv"
$skipLines = 1
$headerLine = "項目A,項目B,日付,元ファイル名"

if (!(Test-Path $outputFolder)) {
    New-Item -ItemType Directory -Path $outputFolder | Out-Null
}
if (Test-Path $outputFile) {
    Remove-Item $outputFile
}

$headerLine | Set-Content -Encoding UTF8 $outputFile

Get-ChildItem -Path $inputFolder -Filter $filePattern | ForEach-Object {
    $file = $_
    $filePath = $file.FullName
    $fileName = $file.Name

    $lines = Get-Content $filePath | Select-Object -Skip $skipLines
    foreach ($line in $lines) {
        "$line,$fileName" | Add-Content -Encoding UTF8 $outputFile
    }
}

Write-Host "✅ 統合完了:$outputFile"

6. カスタマイズ方法

目的カスタマイズ方法
拡張子なしのファイル名を追加`$file.BaseName` に変更
スキップ行数を変更`$skipLines = 2` や `3` などに調整
動的なヘッダー取得最初のCSVファイルから読み込む処理に変更

7. まとめ

  • PowerShellでCSV統合処理を自動化することで、手作業の手間を大幅に削減できます。
  • ファイル名の追加や共通ヘッダーの挿入も自由にカスタマイズ可能です。
  • 日次業務や月次レポート作成の効率化に役立ちます。

UNCOVER TRUTHは、顧客分析やデータ活用の支援を行っている会社です。
分析設計やデータの整理・自動化など、業務でお困りのことがありましたら、ぜひお気軽にご相談ください。

お問い合わせ

より具体的な施策の実践方法についてのご相談は、こちらからお問い合わせください。

メルマガ登録はこちらから

サービスのご相談、資料請求、
お問い合わせをお待ちしております。

We are looking forward for your inquiry.

お問い合わせCONTACT US