このツールの動作
先頭行がキーになり、以降の各行が配列内の1つのオブジェクトになります。値は機械的に引用符で囲むのではなく型として判定され、30 は数値の 30、true は真偽値として出力されます。
区切り文字は読み取り時に判定するため、セミコロン区切りのヨーロッパ式エクスポートも設定なしでそのまま扱えます。
型判定が触れるもの、触れないもの
ここが、変換ツールがデータを壊しやすい箇所です。押さえるべき規則は次のとおりです。
- 先頭のゼロがある値は文字列のまま。
01は"01"のままです。 - 16進数と指数表記も文字列のまま。
0x10と1e5はここでは数値になりません。 - 明示的なプラス記号があるとテキストのまま。
+7は文字列で、-3は数値になります。 trueとfalseは真偽値になりますが、大文字と小文字は区別します。TRUEは文字列のままです。- 空のフィールドは空文字列になり、
nullにはなりません。 nullというテキストは文字列"null"のままです。CSV には「値がない」ことを表す手段がないからです。
見落としやすい点をもう1つ。区切り文字の前後の空白はフィールドの一部です。1, 2 の2つ目の値は空白を含む文字列 " 2" であって、数値の 2 ではありません。
行が先頭行と合わないとき
エラーになります。これは意図した動作です。Too many fields も Too few fields も、期待された数と読み取られた数を示すため、該当行を特定できます。黙って埋めたり切り詰めたりすれば、その先の列がすべてずれた、一見正しく見えるファイルができあがります。
完全に空の行は読み飛ばします。すべてのフィールドが空の行は保持します。それは実在する行だからです。
プライバシー
すべての処理はブラウザ内のJavaScriptだけで完結します。データがアップロードされることはないため、機密情報でも安心して利用でき、オフラインでも動作します。