分析と広告のためのCookie
分析と広告のためにCookieを使っており、どちらもGoogleに送られます。拒否しても、目に見える動作は何も変わりません。プライバシーポリシーを読む
ここで CSV を NDJSON に変換できます。無料、アカウント不要です。ファイルを上の枠に落とせば、数秒で結果がダウンロードできる状態になります。 変換はお使いのブラウザーの中で行われるので、ファイルはアップロードされません。Windows でも macOS でも Linux でも、iPhone でも Android でも同じように動き、通信を切っても動き続けます。
一度に100ファイルまで。フォーマットが混ざっていても構いません。
順番に変換し、まとめてZIPでダウンロードします。
CSV から NDJSON
NDJSON は 1 行が 1 つの完結した JSON という形式で、Elasticsearch や BigQuery のような取り込みツール、あるいは行ごとに逐次処理するログ基盤で好まれます。CSV のままではこうしたツールに渡せないことがあります。
この変換は表形式の CSV を、そうしたツールがそのまま読める行単位の JSON に変えます。
CSV の 1 行目は見出し行として扱われ、各列の名前がそのまま出力される JSON オブジェクトのキーになります。2 行目以降がそれぞれ 1 つの NDJSON の行に対応します。
見出しのない CSV や、列が 1 つも認識できないファイルは読み込みの時点でエラーになります。
「123」や「true」のように数値・真偽値として読める文字列は、そのまま数値型・真偽型として NDJSON に書き出されます。すべてがダブルクォートで囲まれた文字列になるわけではありません。
これは便利な半面、注意も必要です。前ゼロ付きの郵便番号やコード番号のような、見た目は数字でも本来は文字列として扱いたい列は、変換後に数値へ変わってしまうことがあります。
CSV の中にある完全な空行は、行数を揃えるために意図的に読み飛ばされます。データの欠落ではなく、無意味な空の行を出力に持ち込まないための処理です。
列数が足りない行や余分な行があっても、読み込み自体は止まりません。ファイル全体でどの列も認識できない場合にのみエラーになります。
書き出された NDJSON の各行は、それ単独で有効な JSON です。ファイル全体を一度に読み込まなくても、1 行ずつ順番に処理できるという NDJSON の利点は、この変換でもそのまま活かされます。
逆に言えば、行と行の間に共通の構造を持たせることはできません。CSV の表構造がそのまま行の並びに置き換わるだけです。
カンマ以外の区切り文字を使った CSV でも、多くの場合は自動で判定されます。列が 1 つしかないファイルではどの区切り文字も同じに見えてしまうため、判定が難しくなることがあります。
そうした場合は区切り文字を明示的に指定することで、正しく列を分割できます。
日本語の列見出しやセルの値もそのまま扱えますが、元の CSV が Shift-JIS や CP932 で保存されている場合、文字化けした状態で読み込まれることがあります。
Excel で作成した CSV は Shift-JIS で保存されていることが多いため、事前に UTF-8 で保存し直しておくと確実です。
複数の CSV を一度に置いても、順番に処理されて ZIP にまとめて返ってきます。アップロードは発生しませんが、1 回にまとめられるのは 100 ファイルまでです。
大きな表を扱う場合は、実際の制約は端末の空きメモリーです。数百万行に及ぶような CSV は、分割してから変換したほうが安定します。
| CSV | NDJSON | |
|---|---|---|
| 正式名称 | Comma-Separated Values | Newline-Delimited JSON |
| 拡張子 | .csv | .ndjson, .jsonl |
| メディアタイプ | text/csv | application/x-ndjson |
| 最初の公開 | 1972 | 2013 |
| 仕様 | RFC 4180 | — |
| ライセンス | オープン標準 | オープン標準 |
| 現在の位置づけ | 現行 | 現行 |
| ブラウザで開けるか | 対応なし | 対応なし |
| 代わりに検討される形式 | XLSX, JSON, Parquet | JSON |
失われるものはありません。CSV も NDJSON も中身を劣化なしに保持します。この変換が変えるのは包み方であって品質ではないので、劣化が積み重なる心配をせずに何度でも繰り返せます。
pandasは CSV と NDJSON のどちらも読めるので、別のプログラムを開かずに、結果を元のファイルと並べて確かめられます。
CSV は 1972 年に登場しました。 RFC 4180 で規定されています。ファイルが、それを書いた道具より長く生きなければならないなら、この一点には値打ちがあります。
NDJSON は 2013 年から使われています。jqとpandasがこの形式を読めます。
CSV は 1972 年、NDJSON は 2013 年に登場しました。人に渡すならたいてい古いほうが安全で、新しいほうは同じ仕事をより少ないバイト数で片づけます。
いいえ。この変換は完全にブラウザーの中で行われるので、ファイルが端末から出ることはありません。ご自分で確かめられます。開発者ツールのネットワークタブを開いて、何か変換してみてください。ページそのものと、このサービスの費用をまかなっている分析・広告のリクエストは見えますが、あなたのファイルを運んでいるリクエストはひとつもありません。
はい。アカウントも透かしもなく、消費される 1 日の割り当てもありません。お使いの機械の上で動くので、何度でも戻ってきていただけます。ブラウザーが扱えるのは 100 MB までのファイルで、一度に 100 本です。
いいえ。NDJSON は同じ内容を何も捨てずに保持できるので、結果は品質の点で元のファイルと同じです。
失われるものはありません。CSV も NDJSON も中身を劣化なしに保持します。この変換が変えるのは包み方であって品質ではないので、劣化が積み重なる心配をせずに何度でも繰り返せます。