APIから受け取ったJSONを表計算ソフトで見たい。逆に、Excelから出したCSVをそのままプログラムに渡したい。単純な置換では、引用符で囲まれたカンマや、セル内の改行で必ず壊れます。
このツールは、CSVの引用符ルールを正しく解釈して変換します。JSONへの変換時は数値と true/false を自動で型変換し、CSVへの変換時はすべてのキーを列として拾います。
処理はすべてブラウザ内で完結し、貼り付けた内容は送信されません。顧客データや業務データにも使えます。
CSV・JSON相互変換
CSVをJSONに、JSONをCSVに変換します。区切り文字と引用符の扱いにも対応。
貼り付けると自動で変換します。
CSVで壊れる原因は引用符
CSVは「カンマで区切る」だけの形式に見えますが、実際にはカンマそのものを値に含められるルールがあります。
| 値に含まれるもの | CSVでの書き方 | 単純な分割だとどうなるか |
|---|---|---|
| カンマ | "東京都,千代田区" | 2つの値に割れる |
| 改行 | "1行目 | 別の行として扱われる |
| 引用符そのもの | "彼は""はい""と言った" | 途中で切れる |
| 先頭のゼロ | "01234" | 数値化されて 1234 になる |
| 先頭の記号 | "=SUM(A1)" | 表計算ソフトが数式と解釈する |
「カンマで split する」だけの処理は、実データではほぼ確実に壊れます。このツールは1文字ずつ読み進めて引用符の内外を判定するため、上記のケースを正しく扱います。
先頭のゼロが消える問題には注意してください。郵便番号、電話番号、社員番号などは、JSONに変換する際に数値として扱われると先頭のゼロが失われます。このツールは「01234」のように先頭が0の文字列は数値化せず、文字列のまま保持します。
型の自動変換について
CSVはすべての値が文字列ですが、JSONには型があります。このツールは次の規則で変換します。
| CSVの値 | JSONでの型 | 結果 |
|---|---|---|
123 | 数値 | 123 |
-45 | 数値 | -45 |
1.5 | 数値 | 1.5 |
01234 | 文字列 | "01234"(ゼロを保持) |
true / false | 真偽値 | true / false |
山田 | 文字列 | "山田" |
| 空欄 | 文字列 | "" |
数値に見えても先頭がゼロなら文字列として扱います。これは郵便番号や電話番号を保護するためです。逆に、意図的に数値として扱いたい場合は、先頭のゼロを外してから変換してください。
JSONの整形や検証だけが必要な場合はJSON整形・検証ツールをご利用ください。エラーの位置を行と桁で示します。
JSONからCSVへ変換するときの注意
| JSONの構造 | 変換できるか | 扱い |
|---|---|---|
[{"a":1},{"a":2}] | できる | 標準的な形 |
[{"a":1},{"b":2}] | できる | キーが違っても全部を列にする |
[{"a":{"b":1}}] | できる | 入れ子はJSON文字列として1セルに入る |
{"data":[...]} | できない | 最上位が配列である必要がある |
[1,2,3] | できない | オブジェクトの配列にする |
[] | できない | 空の配列 |
最上位が配列でない場合は、配列の部分だけを取り出して貼り付けてください。APIのレスポンスは {"items":[...]} のように包まれていることが多いので、items の中身だけをコピーします。
入れ子のデータ
オブジェクトや配列が値として入っている場合、そのセルにはJSON文字列がそのまま入ります。表計算ソフトで扱うなら、事前に平坦化しておくほうが実用的です。
表計算ソフトで開くときの文字化け
| 状況 | 原因 | 対処 |
|---|---|---|
| 日本語が文字化けする | 文字コードの解釈違い | UTF-8を明示して読み込む |
| 先頭のゼロが消える | 数値として解釈された | 列の書式を「文字列」に指定して読み込む |
| 日付が勝手に変わる | 日付として解釈された | 同上 |
| 1列にまとまってしまう | 区切り文字の不一致 | タブ区切りを試す |
| 改行を含むセルが崩れる | 引用符が外れている | このツールの出力をそのまま使う |
表計算ソフトに貼り付ける目的なら、区切り文字を「タブ」にすると扱いやすくなります。タブ区切りの文字列は、そのままセルに貼り付けると自動で列に分かれるためです。カンマ区切りだと1列にまとまってしまう場合があります。
ファイルとして保存してから開く場合は、文字コードの指定が必要になることがあります。日本語が化ける場合は、テキストエディタでUTF-8として保存し直してから読み込んでください。
まとめ
CSVを扱うときの落とし穴は、引用符で囲まれたカンマと改行です。単純にカンマで分割する処理は、実データでほぼ確実に壊れます。このツールは引用符のルールを正しく解釈します。
JSONへの変換では、先頭がゼロの数値は文字列のまま保持します。郵便番号や電話番号を守るためです。表計算ソフトに貼り付けるなら、区切り文字をタブにすると列が自動で分かれて扱いやすくなります。