CSVをJSONに変換
1行が1オブジェクト、見出しがキーに。
- 配列・JSON Lines・配列の配列
- 数値と真偽値を判別
- IDは文字列のまま
- アップロードなし
1.ファイルを開く
CSVまたはTSV。ここにドラッグするか、ファイルを選択してください。
作った理由
CSVからJSONへの変換は簡単そうに見えます。よくある変換ツールは、型を間違えることで簡単にしています。すべてが文字列になるか、数値に見えるものがすべて数値になってしまうのです。先頭にゼロのある郵便番号や、JavaScriptでは正確に表せない18桁のIDも例外ではありません。このツールは、各列の型をすべての値から判定し、数値に見えるだけの列には手を加えません。
できること
- 見出し行をキーにしたオブジェクトの配列、1行に1オブジェクトのJSON Lines、見出しを先頭にした配列の配列のいずれかで書き出します。
- すべての値が数値またはtrue/falseの列を判別し、引用符なしで書き出します。
- 先頭にゼロがある列や15桁を超える列は、JSONの数値にすると値が変わってしまうため、文字列のままにします。
- 空のセルは空文字列ではなくnullにします。すべてを文字列のままにすることもできます。
- 読みやすいようにインデントするか、最小サイズで書き出すかを選べます。
どの形式を選ぶか
オブジェクトの配列は、ほとんどのAPIやJavaScriptのコードが想定する形式です。JSON Linesは、大きなファイルや、BigQuery、Elasticsearch、jqのように1レコードずつ処理するデータツールに向いています。配列の配列は最もコンパクトで、列の順序がはっきり残ります。
よくある質問
- IDの列が文字列のままなのはなぜですか?
- 数値にすると値が変わってしまうからです。先頭のゼロはどのJSONパーサーでも消えますし、15〜16桁を超える整数はJavaScriptで精度が落ちます。列のすべての値がそのどちらにも当てはまらない普通の数値であれば、数値として書き出されます。
- 空のセルはどうなりますか?
- 型の判別をオンにしている場合はnullになります。CSVには、空文字列と欠損値を区別する方法がないためです。判別をオフにすると、空のセルも含めてすべての値が文字列になります。
- 入れ子のJSONにも対応していますか?
- CSVは平坦な形式なので、出力されるJSONも平坦で、1レコードにつきキーが1階層だけです。逆に、入れ子のJSONをCSVにしたい場合は、「JSONをCSVに変換」ツールを使ってください。
ほかのツール
- CSVファイルをブラウザで開くファイルを入れるだけ。ここで開き、ここから出ません。開く
- CSVファイルにSQLを実行データベースを入れずに、ファイルへ本物のSQLを。開く
- 複数のCSVファイルを1つに結合複数のファイルを入れて、1つのファイルを出力。列は名前で照合。開く
- CSVの重複行を削除行を特定する列として指定したものだけで、重複を判定。開く
- 2つのCSVファイルを比較追加・削除・変更を、行単位ではなくキーで照合。開く
- CSVをPDFに変換CSVを読みやすい表にレイアウトして、PDFで保存。開く
- CSVをExcelに変換途中で何も変わらない、本物の.xlsxに。開く
- JSONをCSVに変換ツリー構造を、どこでも開ける表に。開く
- ExcelをCSVに変換ブックのすべてのシートを、きれいなUTF-8のCSVに。開く
- CSVファイルを分割大きすぎて使えない1つのファイルを、使いやすい複数に。開く
- 乱れたCSVをクリーンアップGermany、germany、「Germany 」が、再び1つの値に。開く
- CSVをSQLのINSERT文に変換CSVを入れれば、どのデータベースでも実行できる.sqlスクリプトに。開く