CSVデータ処理をClaudeに書かせる
CSVファイルの処理は、ETLパイプラインや社内ツールでよく登場する定番タスクです。Claude Codeを使えば、読み込み・バリデーション・変換・出力まで一気に実装できます。具体的な手順を見ていきましょう。
まずClaudeに要件を伝える
Section titled “まずClaudeに要件を伝える”Claude Codeを起動したら、最初に処理の全体像を一度に伝えるのがコツです。曖昧な指示より、入力ファイルの形式・バリデーションルール・出力形式をセットで渡すと精度が上がります。
> Node.jsでCSV処理スクリプトを作ってください。 - 入力: users.csv(列: id, name, email, age) - バリデーション: emailは正規表現チェック、ageは18以上 - 変換: nameを大文字に統一、ageを数値型にキャスト - 出力: valid_users.csv と invalid_users.csv に分けて書き出す - ライブラリはcsv-parseを使うこのように箇条書きで渡すと、Claude Codeは要件を漏らさずコードに落とし込んでくれます。
生成されたコードを確認・修正する
Section titled “生成されたコードを確認・修正する”Claudeが生成するコードの骨格はおおむね以下のようになります。
import { parse } from 'csv-parse/sync';import { stringify } from 'csv-stringify/sync';import fs from 'fs';
const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
const records = parse(fs.readFileSync('users.csv'), { columns: true });const valid = [], invalid = [];
for (const row of records) { row.age = Number(row.age); row.name = row.name.toUpperCase(); const isValid = EMAIL_REGEX.test(row.email) && row.age >= 18; (isValid ? valid : invalid).push(row);}
fs.writeFileSync('valid_users.csv', stringify(valid, { header: true }));fs.writeFileSync('invalid_users.csv', stringify(invalid, { header: true }));生成後に「エラーハンドリングを追加して」「ストリーム処理に書き換えて」と追加指示を出すだけで、コードを段階的に育てられます。
※API: Application Programming Interface の略。外部サービスとプログラム間でデータをやりとりするための接続口。
テストデータの生成もClaudeに任せる
Section titled “テストデータの生成もClaudeに任せる”動作確認用のダミーCSVもClaudeに作ってもらえます。
> 上記スクリプトのテスト用に、正常データ10件・異常データ5件(不正メール3件、age未満2件)を含むusers.csvを生成してくださいこのプロンプト一発でテスト用フィクスチャが手に入ります。「実装→テストデータ生成→動作確認→修正」のサイクルをClaudeと一緒に回すことで、CSV処理の開発時間を大幅に短縮できます。要件が変わったときも「ageの下限を21に変更して」と一言伝えるだけで対応できるので、ぜひ活用してみてください。
※プロンプト: AIへの指示文。Claude Codeへの指示の質がそのまま出力の質に影響する。