CSV→JSON 完全ガイド

JSON(更新: 2026年6月1日)

CSVとJSONの構造の違い

CSV(カンマ区切り値)とJSON(JavaScript Object Notation)は最も一般的なデータ形式ですが、構造に本質的な違いがあります:

特徴 CSV JSON
構造 フラットな表形式 ネストされたツリー
データ型 すべて文字列 文字列、数値、真偽値、null
ネスト 非対応 ネイティブ対応
コメント 非対応 非対応(JSON5は対応)
用途 表データ、Excelエクスポート APIレスポンス、設定ファイル

変換ルールの詳細

CSV → JSON

CSVの各行はJSONオブジェクトに変換されます。最初の行がキー名(ヘッダー)、以降の行が値となります:

name,age,city
太郎,28,東京
花子,32,大阪

変換結果:

[
  { "name": "太郎", "age": 28, "city": "東京" },
  { "name": "花子", "age": 32, "city": "大阪" }
]

JSON → CSV

JSON配列内の各オブジェクトはCSVの1行に展開され、オブジェクトのキー名がヘッダー行を構成します。

JSON↔CSVツールで変換する

ステップ1:データを準備する

CSVファイルが正しい形式であることを確認:先頭行がヘッダー、各行のフィールド数が一致、カンマを含むフィールドはダブルクォートで囲む。

ステップ2:変換方向を選択

JSON↔CSVツールを開き、「CSV → JSON」または「JSON → CSV」モードを選択。

ステップ3:データを貼り付けまたはアップロード

データを入力エリアに貼り付けるか、.csv / .json ファイルを直接アップロード。

ステップ4:オプションを設定

  • 区切り文字:デフォルトはカンマ、タブ(TSV)やセミコロンも対応
  • ヘッダーを含むか:先頭行をフィールド名として扱うかを制御
  • ネスト展開:JSON内のネストされたオブジェクトの処理方法
  • 数値自動検出"28" を自動的に 28 に変換

ステップ5:結果を取得

変換ボタンをクリック。結果は出力エリアに即座に表示され、ワンクリックでコピーまたはダウンロード可能。

ヘッダーの処理

ヘッダーはCSVの核心です。変換時の注意点:

  • ヘッダー内のスペースや特殊文字はJSONのキー名として保持される
  • 小文字+アンダースコア命名(例:user_name)を推奨
  • CSVにヘッダーがない場合、ツールが col_1, col_2 などのデフォルト列名を自動生成

ネストされたオブジェクトの処理

CSV自体はネストに対応していませんが、ドット記法で階層を表すCSVもあります:

user.name,user.email,order.id
太郎,taro@example.com,1001

JSON↔CSVツールで「ネスト自動展開」オプションを有効にすると:

{
  "user": { "name": "太郎", "email": "taro@example.com" },
  "order": { "id": 1001 }
}

大きなファイルの処理テクニック

  • CSVファイルが10MBを超える場合、バッチ変換を推奨
  • ストリーミング処理でメモリオーバーフローを回避
  • ツールは最大50MBまでのオンライン変換に対応
  • 非常に大きなファイルはPython(pandas)でローカル前処理を推奨

よくあるエラーと解決方法

エラー 原因 解決方法
フィールド数の不一致 行にカンマの過不足 クォートの囲みが完全か確認
文字化け ファイルがUTF-8ではない テキストエディタでエンコーディング変換
JSONパース失敗 不正な形式 JSONフォーマッターで修復
ネスト展開失敗 キー名の階層が不規則 ドット区切りの整合性を確認

実用テクニック

  1. 変換後に JSONフォーマッター で出力を整形
  2. JSONPath で変換結果を素早く検証
  3. ExcelエクスポートのCSVにはBOMヘッダーが含まれることが多い — 変換前に削除
  4. 日付フィールドはISO 8601形式に統一を推奨

まとめ

CSVとJSONの相互変換は日常的な開発で高頻度の操作です。構造の違いと変換ルールを理解し、JSON↔CSVツールを活用すれば、効率的にデータ形式の変換が可能です。複雑なネストや大きなファイルのケースでは、本ガイドのテクニックを参考に一つずつ解決してください。

#CSV#JSON#数据转换#表格#开发