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

お問い合わせ

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

【無料】お役立ち資料

無料ダウンロード可能なお役立ち資料を紹介します。
UNCOVER TRUTHのデータ活用ノウハウを資料にいたしました。是非ご活用ください!

1.LTVを高めるための顧客軸KPIの作り方【テンプレート付】

LTV(顧客生涯価値)向上施策に悩む企業さま必見です!
この資料では、弊社UNCOVER TRUTHのノウハウを元に、LTVを高めていく上で、やるべき基本の6ステップを解説しています。
ステップを進めるために必要な「顧客軸のKPIツリーマップ」のテンプレートも無料でダウンロードいただけますので、こちらをお読みいただければ、すぐに実践ができるようになっています。

2.CDP導入にはいくらかかる?

CDPの導入を検討されている企業さま必見です!
この資料では、多くのCDP導入プロジェクトをお手伝いする中で、およその必要費用は理解しております。本資料では、これまでの経験を元にした、DXプロジェクトを推進する上で知っておきたい「CDPの導入にかかる費用」についてまとめています。

無料!データ活用のことなんでも相談会

「ユーザー起点マーケティング実践ガイド」の著者 小畑 陽一と30分無料相談ができます!
「データ活用したいけど社内の人材登用が難しい」「CDPをどのように活用するべきか悩んでいる。」「新規獲得、LTV改善に向けCDPを活用したいが何から始めるべきか」などデータ活用に関するお悩みを直接ご相談いただけます!
まずはお気軽にセッションへお申込みください!

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

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

We are looking forward for your inquiry.

お問い合わせCONTACT US