CSV JSON 変換の使い方
- 変換の方向(CSV → JSON または JSON → CSV)を選びます。
- 入力欄に内容を貼り付けるか、ファイルを開くで .csv・.tsv・.json ファイルを読み込みます。文字コードはUTF-8を推奨します。
- 区切り文字は通常「自動判定」のままで問題ありません。1行目が列の見出しでない場合は「1行目は見出し」のチェックを外します。
- 変換するを押し、結果をコピーするかファイルに保存します。CSVはExcelで文字化けしないよう、BOM付きUTF-8で保存されます。
CSVをJSONに変換するとどんな形になりますか?
1行目を見出しとして使う場合、各行が"列の見出し": 値という形のオブジェクトになり、全体はオブジェクトの配列になります。
| CSV | JSONの結果 |
|---|---|
名前,年齢佐藤健太,31 | [{"名前": "佐藤健太", "年齢": 31}] |
「数値・true/falseを自動変換」をオンにすると、31のように数字だけのセルは数値型に、true・falseは真偽値(boolean)に変換されます。ただし0で始まる値(郵便番号 0600001、電話番号 090…など)は、先頭の0が消えないよう文字列のまま残します。見出しが空欄の列には「列3」のような名前を付け、同じ見出しが2回出てきた場合は後ろの列に _2 を付けて区別します。
JSONをCSV(Excel)に変換するときのルール
- オブジェクトの配列の場合、すべてのオブジェクトに登場するキーを集めて列の見出しにします。あるオブジェクトに存在しないキーは空欄になります。
- 1階層内側のオブジェクトは
住所.都道府県のようにドットでつないだ列に展開します。それより深い値や配列は、JSON文字列のまま1つのセルに入れます。 - 配列の配列(
[[1,2],[3,4]])は、見出しなしでそのまま行と列に置き換えます。 - 値にカンマ、ダブルクォーテーション、改行が含まれる場合は、RFC 4180 のルールに従ってダブルクォーテーションで囲み、内部の引用符は2つ重ねて書きます。ExcelやGoogle スプレッドシートはこのルールどおりに読み込めます。
ExcelでCSVが文字化けするときの対処法
Excelは、BOM(ファイル先頭にある目に見えない目印)のないUTF-8のCSVを開くと、日本語が文字化けして表示されることがよくあります。Tooljipで保存したCSVはUTF-8(BOM付き)で保存されるため、ダブルクリックで開いても日本語が正しく表示されます。
一方、日本語版Excelで「CSV(コンマ区切り)」として保存したファイルは、多くの場合Shift_JIS(CP932)になっています。このツールはファイルをUTF-8として読めない場合に別の文字コードで読み直しますが、Shift_JISの日本語が正しく読めない場合は、Excelで「CSV UTF-8(コンマ区切り)」として保存し直すか、テキスト文字コード変換ツールでUTF-8に変換してから読み込んでください。
Excelで数値が 1.23E+11 のような指数表示になったり、先頭の0が消えたりするのは、CSVファイルの問題ではなく、Excelが開くときに自動で書式を変えてしまうためです。このような列は、Excelの「データ > テキストまたはCSVから」で取り込み、列のデータ形式を「テキスト」に指定するとそのまま保持できます。
どんな場面で使えますか?
- Excelやスプレッドシートで管理している一覧を、Webアプリやプログラムで使うJSONデータに変換したいとき
- APIから取得したJSONを、Excelで集計・確認できるCSVにしたいとき
- 表をコピーして貼り付けるだけで、タブ区切りのデータをすばやくJSONにしたいとき
JSONの文法エラーが出る場合は、先にJSON整形ツールなどで構文を確認すると原因を見つけやすくなります。