tigtools

CSVからJSONへの変換

CSVを貼り付けるかファイルを開くと、オブジェクトまたは配列のJSON配列を作成できます。ブラウザー内で処理するため、データがデバイスの外に送信されることはありません。

ブラウザー内で動作 登録不要

出力形式

使い方

  1. CSVテキストを貼り付けるか、.csvまたは.tsvファイルを開くか、「例を試す」を押します。
  2. 「自動検出」のままにするか、区切り文字を選び、先頭行に列名が含まれているかを指定します。
  3. 必要に応じて数値、ブール値、nullの検出を有効にし、出力形式としてオブジェクトまたは配列を選びます。
  4. JSONをコピーするか、.jsonファイルとしてダウンロードします。

仕組み

このパーサーはCSVの仕様であるRFC 4180に準拠しています。フィールドは二重引用符で囲むことができ、引用符で囲まれたフィールドには区切り文字や改行を含められます。また、引用符で囲まれたフィールド内の二重引用符2つは、引用符1つを表します。改行にはCRLF(Windows)、LF(macOS、Linux)、CRを使用でき、末尾の改行によって空のレコードが作られることはありません。完全に空の行はスキップされます。先頭にあるExcelでよく使われるバイトオーダーマークは削除されます。引用符で囲まれたフィールドが閉じられていない場合は、そのフィールドが始まる行を示すエラーが表示されます。推測で処理すると、ファイルの残り全体が1つのセルにまとめられてしまうためです。

自動検出では、先頭の数行を対象にカンマ、セミコロン、タブ、パイプを試し、列数が一貫する区切り文字を選びます。ヘッダー行がある場合、各レコードは列名をキーとするオブジェクトになります。空の列名にはcolumn_1、column_2…が割り当てられ、重複する列名にはid_2のような接尾辞が付きます。ヘッダーよりフィールド数が少ない行には空の値が補われ、フィールド数が多い行には追加の列名が割り当てられます。

既定では、すべての値を文字列のまま保持します。これが安全な方法です。01234のような郵便番号、電話番号、IDの先頭のゼロが失われません。型の検出を有効にすると、JSONの数値と完全に同じ形式の値は数値になります(ただし、007、1,5、2^53を超える整数は除きます)。大文字・小文字を問わずtrueとfalseはブール値になり、nullまたは空のセルはnullになります。日付はテキストのままです。

使用例

表計算ソフトからのエクスポート

id,name,price\n1,Desk,149.90は[{"id":"1","name":"Desk","price":"149.90"}]に変換されます。型の検出を有効にすると、{"id":1,"name":"Desk","price":149.9}になります。

ヨーロッパ形式のExcelファイル

ドイツのExcelで保存したファイルでは、セミコロンが使われます。Name;Preis\nTisch;149,90の場合、自動検出でセミコロンが選ばれます。149,90はJSONの数値ではないため、文字列の"149,90"のまま保持されます。

改行を含むセル

"221B Baker Street London"のように、引用符で囲まれて2行にまたがる住所セルは、次の行の始まりとして扱われず、1つの値"221B Baker Street\nLondon"として保持されます。

よくある質問

JSONで数値が文字列になるのはなぜですか?

CSVにはデータ型がないため、既定では各値を記載どおりのテキストとして保持します。「数値、true/false、nullを検出」を有効にすると、数値のように見える値を変換します。データが変わらないよう、先頭のゼロや小数点にカンマを使った値はテキストのまま保持されます。

行の列数がヘッダーより多い、または少ない場合はどうなりますか?

値が欠けている場合は空文字列になります(型の検出が有効な場合はnull)。余分な値はcolumn_Nという名前の追加キーに保持されるため、データが失われることはありません。

Excelの.xlsxファイルを読み込めますか?

いいえ。対応しているのはテキスト形式のCSVとTSVのみです。ExcelまたはGoogle Sheetsで、まず「ファイル」›「名前を付けて保存」または「ダウンロード」›「CSV」を選び、そのファイルをここで開いてください。

どのくらい大きなファイルを変換できますか?

数MBのファイルなら、デスクトップパソコンであればすぐに変換できます。ファイル全体とJSONの変換結果をブラウザーのタブ内に保持するため、上限はお使いのデバイスのメモリによって決まります。

プライバシー

CSVの読み込みと変換はブラウザー内でのみ行われます。開いたファイルがアップロードされることはなく、データが保存されたり、アクセス解析に送信されたりすることもありません。