5 分で JSON を CSV へ: API データを Excel で開く

2024-05-10

PM やアナリストは JSON を表計算で扱いたい場面が多くあります。CSV は最も汎用的な橋渡し形式で、1 行 1 レコード・カンマ区切りが基本です。

理想的な入力形

トップレベルがオブジェクト配列で、キーが一貫している形が理想です。ネストオブジェクト(address.city など)は事前にフラット化します。

[ { "id": 1, "name": "Alice" }, { "id": 2, "name": "Bob" } ]

手作業 CSV を 4 ステップで作る

ヘッダーを決め、1 行目に書き、各オブジェクトを 1 行へ変換し、カンマや改行を含むフィールドは引用符で囲みます。

id,name
1,Alice
2,Bob

JavaScript で素早く出力

JSON をパースし、RFC 4180 に沿ってエスケープし、改行結合して Blob としてダウンロードします。

const escape = (v) => {
  const s = String(v ?? "");
  return /[",\n]/.test(s) ? `"${s.replace(/"/g, '""')}"` : s;
};

ネストデータの扱い

1 対多データは id で関連づけた 2 つの CSV に分ける方が、横に広すぎる 1 行より管理しやすいです。

Excel の文字コード

Windows では UTF-8 インポートまたは BOM 付き CSV が有効です。文字コード問題が続く場合は .xlsx 出力ライブラリを検討します。

ワークフロー

JSON 検証 -> キー確認 -> CSV 生成 -> Excel 取り込み -> 定期出力は自動化。