CSV JSON変換
CSVとJSONを相互に変換し、結果を表で確認できます。入力内容はサーバーに送信しません。
ツールを準備しています。
ユーザーの評価
まだレビューはありません。このツールを使ったことがあれば、最初のレビューを書いてください。
CSV JSON変換の詳しい使い方ガイド
使い方と例を確認し、知りたいことはトピックから探せます。
はじめに確認すること
- 変換方向
- CSV → JSON と JSON → CSV の両方に対応しています。
- 区切り文字
- カンマ、タブ、セミコロン、パイプから自分で選びます。
- 引用符
- 引用符の中の区切り文字や改行は文字として読み、2つ続く引用符は1つとして読みます。
- BOMとCRLF
- 読み込み時はBOMを取り除き、保存するファイルにはBOMとCRLFを付けます。
- 値の形式
- 初期設定ではすべての値を文字のままにして、先頭の0を守ります。
- 数式対策
- CSVに書き出すとき、= + - @ で始まる値の前にシングルクォートを付けます。
- 処理の上限
- 最大500,000文字、20,000行、200列まで変換できます。
- 処理する場所
- 変換はこのブラウザ内で行われ、入力は保存されません。
CSV JSON変換の使い方
まず変換方向と区切り文字を選びます
CSV → JSON と JSON → CSV から選びます。方向を切り替えると入力が空になり、その方向に合うオプションだけが残ります。区切り文字は推測せず自分で選ぶ方式なので、表が1列として読まれる場合は区切り文字を変えてみてください。
列名と値の扱いを決めます
1行目を列名として使うとオブジェクト配列になり、オフにすると値の配列の配列になります。空の列名は「列2」のように位置番号で埋め、同じ名前が重なった場合は後ろに _2 を付けて区別します。CSVを読み込むとき型変換をオフにすると、すべての値が文字のまま残り、電話番号や郵便番号の先頭の0が消えません。オンにすると 12 は数値に、true は真偽値になりますが、0102 のように先頭に0が付いた値は文字のままにします。空欄を null として書き出すかどうかもここで決めます。
変換して表で確認します
Ctrl または ⌘ と Enter でも実行できます。下の表プレビューで、列名と値が意図した位置に入っているか確認してください。先頭50行まで表示し、残りの行数もあわせてお知らせします。
コピーまたは保存します
結果のコピーは、画面に表示されている文字のままコピーします。CSV保存では、Excelで日本語が文字化けしないようファイルの先頭にバイトオーダーマーク(BOM)を付け、改行をCRLFにします。また、逆方向に再変換を押すと、いま作った結果を反対方向の入力に移せるので、往復変換の確認ができます。
こんな作業に使えます
スプレッドシートの表を開発用データに変える
スプレッドシートからCSVで書き出した表を貼り付けて区切り文字を選ぶと、JSON配列になります。1行目を列名として使うと { 列名: 値 } 形式のオブジェクト配列になり、オフにすると値の配列の配列になります。値は初期設定では文字のまま扱うため、電話番号や郵便番号の先頭の0が消えません。数値や true/false が必要な場合は、型変換オプションをオンにしてください。
データをスプレッドシートで開ける表にする
JSON配列をCSVに変換するときは、各項目で最初に現れたキーの順に列を作ります。ある項目にないキーは空欄になるので、列がずれることはありません。入れ子のオブジェクトや配列は、JSON文字列のまま1つのセルに入れるか、a.b 形式の列に展開できます。Excelで日本語が文字化けしないよう、保存するファイルにはバイトオーダーマーク(BOM)を付け、改行はCRLFにします。
例で結果を確かめる
値にカンマが含まれる表を読む
名前,メモ,連絡先
ハルン,"東京, 渋谷",09012345678[
{
"名前": "ハルン",
"メモ": "東京, 渋谷",
"連絡先": "09012345678"
}
]入れ子の値があるデータを書き出す
[{"名前":"ハルン","住所":{"市":"東京","区":"渋谷"}},{"名前":"ウミ"}]JSON文字列として入れる
名前,住所
ハルン,"{""市"":""東京"",""区"":""渋谷""}"
ウミ,
a.b列に展開
名前,住所.市,住所.区
ハルン,東京,渋谷
ウミ,,書き出しオプションの選び方
表を左右にスクロールすると続きが見られます。
| オプション | オンの場合 | オフの場合 |
|---|---|---|
| Excel用マーク(BOM) | Excelで日本語が文字化けしません。 | マークのない純粋なUTF-8ファイルになります。 |
| 数式対策 | = + - @ で始まる値の前にシングルクォートが付きます。 | 値がそのまま出力され、スプレッドシートが数式として実行する場合があります。 |
| 入れ子の値 | JSON文字列として1つのセルに入れるか、a.b列に展開します。 | 該当なし。どちらかを必ず選びます。 |
結果が思ったとおりにならないとき
表全体が1列として読まれます
選んだ区切り文字が実際のファイルと違っています。Excelは地域設定によってセミコロンで書き出すことが多く、スプレッドシートからコピーして貼り付けた場合はタブであることが多いです。区切り文字を変えて、もう一度変換してみてください。
引用符が閉じられていないと表示されます
引用符で囲んだセルが終わっていないという意味です。何行目から確認すればよいかもあわせて表示されるので、その行から引用符の数を数えてみてください。値の中の引用符は2回書く必要があります。
一番外側が配列である必要があると表示されます
JSONをCSVに変換するには、表の行にあたる項目が配列にまとめられている必要があります。{ … } が1つだけなら、[ { … } ] のように角括弧で囲んでください。
値の前にシングルクォートが付いています
= + - @ で始まる値をスプレッドシートが数式として実行しないように付けた印です。修正したセル数は結果の下に表示されます。不要な場合は該当オプションをオフにして、もう一度変換してください。
行ごとにセル数が違います
セルが足りない行は空の値で埋め、1行目よりセルが多い行は「列3」のような名前を付けて値をそのまま残します。値を捨てることはなく、そのように処理した件数もお知らせします。
知っておきたい用語
- 区切り文字
- セルを分ける文字です。カンマが最も一般的で、地域設定によってはセミコロンも使われます。
- BOM
- ファイルの先頭に付く文字の印です。ExcelがUTF-8の日本語を正しく読めるようにします。
- CRLF
- 改行を2文字で表す方式です。主にWindowsのプログラムで使われます。
- 数式インジェクション
- 表の値がスプレッドシートで数式として実行されてしまう問題です。値の前にシングルクォートを付けて防ぎます。
CSV JSON変換のよくある質問
引用符の中にカンマや改行があっても大丈夫ですか?
大丈夫です。引用符で囲んだセルの中では、区切り文字や改行を普通の文字として読み、引用符が2つ続くと1つの引用符として読みます。引用符が閉じられていない場合は、何行目から確認すればよいかをお知らせします。
値の前にシングルクォートが付くのはなぜですか?
= + - @ で始まる値は、ExcelやGoogleスプレッドシートで数式として実行されることがあります。そのためCSVに書き出すときは、そのような値の前だけにシングルクォートを付け、何セル修正したかをお知らせします。不要な場合はオプションをオフにしてください。
行ごとにセル数が違うとどうなりますか?
セルが足りない行は空の値で埋め、1行目よりセルが多い行は「列3」のような名前を付けて値をそのまま残します。どちらの場合も、そのように処理した件数が結果の下に表示されます。
Excelファイル(xlsx)をそのまま入れられますか?
入れられません。ExcelからCSVで書き出して、その内容を貼り付けてください。このツールは文字で書かれたCSVとJSONだけを扱います。
変換してから元に戻すと、値は同じままですか?
初期設定では、CSVとJSONを行き来する往復変換で値が変わらないことを自動テストで確認しています。ただし数式対策をオンにすると、付いたシングルクォートが値の一部として残るので、往復確認だけをするときはそのオプションをオフにしてください。
どのくらい大きなファイルまで扱えますか?
最大500,000文字、20,000行、200列までです。超えた場合は現在のサイズをお知らせしますので、分けて変換してください。
データはサーバーに送信されますか?
送信されません。変換はこのブラウザの中で行われ、入力も結果も保存されません。