カリキュラム/第7章: データ分析/7-3 CSV 処理

7-3 CSV 処理

無料

大量のCSVデータの変換・結合・クリーニングを効率化します。

7章: データ分析20分
酒井歩乃加
監修: 酒井歩乃加

フリーランス編集者・ライター / 元マイベスト編集ディレクター

平原尚樹
監修: 平原尚樹

株式会社BlueAI 代表取締役CEO / ソフトウェアエンジニア

CSV処理のよくある課題

業務で扱うCSVデータは「そのまま使えない」ことが多いです。

  • 文字化け(UTF-8 vs Shift-JIS)
  • 列名が統一されていない
  • 空行や不要な行がある
  • 複数ファイルを結合したい

Claude Code はこうしたデータクリーニングを自動で処理してくれます。

> data.csv を読み込んで、
> 文字コード、列数、空行の有無、
> データの問題点を診断して。

Before / After:CSV処理の効率化

CSV 処理の Before / After です。

Before(手作業)

  • 文字コードを調べて変換 → 15分
  • Excelで不要な行を削除 → 10分
  • 12ファイルを1つに結合 → 30分
  • データの形式を統一 → 20分 合計: 約1時間15分

After(Claude Code)

  • 「文字コード変換して、不要行を削除して、12ファイルを結合して」→ 3分

ファイル数が増えても処理時間はほぼ変わりません。

実践:文字コード変換とクリーニング

文字化けしたCSVの修復と不要データの削除を行います。

> 以下のCSV処理スクリプトを作って。
> 1. Shift-JIS のCSVファイルを UTF-8 に変換
> 2. 空行を削除
> 3. 先頭の不要なヘッダー行(3行)をスキップ
> 4. 電話番号のハイフンを統一(全角→半角)
> 5. 結果を clean-data.csv に保存

実践:複数ファイルの結合

月別に分かれたCSVを1つに結合します。

> data/ フォルダ内の全CSVファイル(01月.csv〜12月.csv)を
> 1つの yearly-data.csv に結合して。
> - ヘッダー行は最初のファイルからのみ取得
> - 「月」列を追加してどの月のデータかわかるように
> - 日付列を YYYY-MM-DD 形式に統一

期待される出力

Claude Code は以下を生成します。

  • clean-data.csv — クリーニング済みのCSVファイル
  • yearly-data.csv — 12ファイルを結合した年間データ
  • 処理スクリプト(Python)— 次回以降も再利用可能

スクリプトは保存しておけば、来月以降も同じ処理を1コマンドで実行できます。

Created: clean-data.csv (248 rows)
Created: yearly-data.csv (3,024 rows)
Created: process.py

$ python process.py
Processed 12 files → yearly-data.csv

応用:データの正規化

実務でよくある「列名が統一されていない」問題への対処法です。

> 以下の3つのCSVファイルがあるけど、列名がバラバラ。
> - sales_tokyo.csv: 「日付, 商品, 売上金額」
> - sales_osaka.csv: 「販売日, 商品名, 金額」
> - sales_nagoya.csv: 「date, product, amount」
>
> これらを統一した列名「日付, 商品名, 金額」で
> 1つの all-sales.csv に結合して。

よくある失敗と対処法

CSV処理でよくあるトラブルです。

文字化けが直らない → 元のファイルの文字コードを「このファイルの文字コードを判定して」と確認してからの方が確実です。

結合後にデータがずれる → 各ファイルの列数が一致しているか確認してください。「各ファイルの列数を確認して」と事前チェックを依頼。

数値が文字列として扱われる → CSVの金額列にカンマ(1,000)が含まれていると文字列扱いになります。「金額列のカンマを除去して数値に変換して」と追加指示。

まとめ

このレッスンのポイントを振り返ります。

  • CSV処理は「文字コード」「クリーニング」「結合」「正規化」が主なパターン
  • Claude Code に先頭数行を見せると最適な処理を提案してくれる
  • 生成されたスクリプトは保存して再利用できる
  • ファイル数が増えても処理時間はほぼ変わらない

次の第8章では、MCP を使った外部ツールとの連携を学びます。