CSVからJSONへの変換方法:完全ガイド
CSVファイルはどこにでもあります — スプレッドシート、データベース、分析ツールからエクスポートされます。しかしモダンなアプリケーション、API、フロントエンドフレームワークはJSONで動作します。これらのフォーマット間の変換は、開発者やデータアナリストにとって日常的な作業です。
ツールで素早く変換
最速のアプローチ:CSV to JSONコンバーターにCSVを貼り付けます。デリミターを自動検出し、クォートされたフィールドを処理し、クリーンなJSONを即座に出力します。すべての処理はブラウザで行われます — サーバーへのデータアップロードはありません。
変換の理解
CSVの行はJSONオブジェクトになります。列ヘッダーがキーになり、セルの値が値になります。
入力CSV:
name,email,age
Alex,alex@example.com,30
Jordan,jordan@example.com,25
出力JSON:
[
{"name": "Alex", "email": "alex@example.com", "age": "30"},
{"name": "Jordan", "email": "jordan@example.com", "age": "25"}
]
age が文字列であることに注意してください。CSVには型情報がありません — すべてがテキストです。型変換は別途処理する必要があります。
変換方法
JavaScriptを使用
function csvToJson(csv) {
const lines = csv.trim().split('\n');
const headers = lines[0].split(',');
return lines.slice(1).map(line => {
const values = line.split(',');
return headers.reduce((obj, header, i) => {
obj[header.trim()] = values[i]?.trim();
return obj;
}, {});
});
}
Pythonを使用
import csv, json
with open('data.csv') as f:
reader = csv.DictReader(f)
data = list(reader)
with open('data.json', 'w') as f:
json.dump(data, f, indent=2)
よくある課題への対処
値内のカンマ
カンマを含む値はクォートする必要があります:"Smith, John"。CSV to JSONコンバーターはクォートされたフィールドを自動的に処理します。
欠損値
空のセルは、ニーズに応じてJSONでは空文字列ではなく null にすべきです。
大きなファイル
10MBを超えるファイルの場合は、ストリーミングアプローチやコマンドラインツールを検討してください。当コンバーターはブラウザで大きなファイルを効率的に処理します。
フラットCSVからネストされたJSON
フラットCSVからネストされたJSONが必要な場合があります。ヘッダーにドット記法(address.city、address.state)を使い、プログラム的に変換します。
出力の検証
変換後はJSONバリデーターでJSONを検証し、出力が正しい形式であることを確認してください。大規模なデータセットの場合は、元のCSVに対していくつかのレコードをスポットチェックしましょう。
よくある質問
CSVからJSONへの変換でデータ型は保持されますか?
いいえ。CSVは型情報のないプレーンテキストです。数値、ブール値、日付はすべて文字列になります。型変換ロジックは別途追加する必要があります。
異なるデリミターのCSVファイルをどう処理しますか?
タブ区切り(TSV)、セミコロン区切り、パイプ区切りのファイルは一般的です。CSV to JSONコンバーターは一般的なデリミターを自動検出します。
関連リソース
- CSV vs JSON vs XML — 適切なデータフォーマットの選択
- JSONフォーマットのベストプラクティス — 変換したJSONを適切にフォーマット
- CSV to JSONコンバーター — CSVを即座にJSONに変換
- CSVエディター — 変換前にCSVデータを編集