📊 データ処理

JSONからCSVへの変換

JSONデータをCSV形式に変換し、Excelでの閲覧と分析を容易にします

★☆☆ 初級 5-10 min 2025年1月12日

概要

JSONはプログラム間のデータ交換で一般的なフォーマットですが、人間が読むには向いていません。Claudeは、JSONデータをCSVスプレッドシートフォーマットに変換し、Excel、Numbersなどのツールで開いて、簡単に閲覧、分析、編集できるようにします。

ユースケース

  • APIが返すJSONデータをスプレッドシートとしてエクスポート
  • ログファイルをCSVに変換して分析を容易に
  • JSONフォーマットのデータベースエクスポートを処理
  • 複数のJSONファイルを1つのCSVにマージ

手順

ステップ1:JSON構造を分析する

まず、ClaudeにJSONデータの構造を理解させます。

~/data/users.jsonファイルを分析してください:
- データ構造(オブジェクトか配列か?どんなフィールドがあるか?)
- ネストの深さ
- 総レコード数
- CSVフォーマットへの変換の提案

ステップ2:シンプルな変換

シンプルなJSON配列をCSVに変換します。

~/data/users.jsonをCSVに変換してください:
- 出力ファイル:~/data/users.csv
- ヘッダー行を含める
- カンマを区切り文字として使用
- 日付フォーマット:YYYY-MM-DD
- フィールド内のカンマと改行を処理(引用符で囲む)

ステップ3:ネストデータを処理する

ネストされたオブジェクトや配列を含むJSONの場合。

users.jsonには各ユーザーにネストされたaddressオブジェクトとtags配列があります:
- address.cityとaddress.countryを個別の列にフラット化
- tags配列をセミコロン区切りの文字列に変換
- フラット化されたCSVファイルを生成

ステップ4:一括変換

複数のJSONファイルを変換します。

~/data/logsフォルダ内のすべての.jsonファイルをCSVに変換してください:
- 各JSONに対応するCSVファイルを生成
- JSON構造が同じ場合は、1つのCSVにマージ可能
- ~/data/csv_outputフォルダに保存
- 変換レポートを生成

ステップ5:カスタムフィールド選択

必要なフィールドのみを変換します。

users.jsonから以下のフィールドのみをCSVに抽出:
- id
- name
- email
- created_at
他のフィールドは無視、idでソートして出力

注意:CSVフォーマットは複雑なネスト構造をサポートしていません。JSONデータに深いネストがある場合、データをどのようにフラット化するかを決定する必要があり、一部の構造情報が失われる可能性があります。

ヒント:日本語などの文字を含むデータの場合、CSVファイルがUTF-8 with BOMエンコーディングを使用していることを確認してください。これにより、Excelで文字が正しく表示されます。

よくある質問

Q:ExcelでCSVを開くと文字化けしますか? A:ClaudeにUTF-8 with BOMエンコーディングでエクスポートするよう依頼するか、Excelで「データ > テキストから」でインポートする際にUTF-8エンコーディングを選択してください。

Q:フィールド内のカンマが列のずれを引き起こしますか? A:標準のCSVフォーマットでは、カンマを含むフィールドをダブルクォートで囲みます。変換時にエスケープ文字が適切に処理されていることを確認してください。

Q:非常に大きなJSONファイルを変換できますか? A:はい、ただし非常に大きなファイル(数百MB以上)の場合は、メモリオーバーフローを避けるためにバッチ処理をお勧めします。Claudeは大きなファイルをストリーミング処理するスクリプトを書くことができます。