CSV⇔JSON Lines(JSONL)変換
CSVファイルとJSON Lines(JSONL、1行1オブジェクトの形式)を相互に変換します。区切り文字を選べ、キーが揃っていない行も自動で吸収します。変換はブラウザ内で完結しサーバーには送信されません。
CSVの行とJSONLの行の対応
| CSVの見出し行+データ行 | name,age,cityAlice,30,Tokyo |
|---|---|
| 変換後のJSONL(1行1オブジェクト) | {"name": "Alice", "age": "30", "city": "Tokyo"} |
見出し行の列名をキーにして、CSVの各データ行が1つのJSONオブジェクトになり、それが1行のJSONLとして出力されます。逆方向(JSONL→CSV)では、全行に登場したキーの和集合が見出し行になり、値がない行は空欄で埋められます。
CSV⇔JSON Lines変換とは
CSV⇔JSON Lines変換とは、表形式のCSVデータと、1行1オブジェクトの形式であるJSON Lines(JSONL)を相互に変換する処理です。本ツールはRFC 4180に準拠したパーサーでCSVを読み取るため、ダブルクォートで囲まれたセル内のカンマや改行を含む複雑なCSVも正しく解釈できます。
双方向の変換に対応しており、CSV→JSONLでは見出し行の列名がキーとして使われ、JSONL→CSVでは全行のキーの和集合が見出し行になります。行ごとにキーの数が異なるJSONLでも自動的に列を揃えて出力するため、機械学習用データセットやログファイルの整形にも活用できます。
CSV⇔JSON Lines変換の使い方
- 変換方向を選ぶ 「CSV → JSONL」または「JSONL → CSV」のどちらに変換したいかをタブで選択します。
- データを入力する テキストエリアに変換したいCSVまたはJSON Linesを貼り付けます。手元にデータが無い場合は「サンプルを読み込む」で例を確認できます。
- 区切り文字を選ぶ CSV側の区切り文字がカンマかタブかを選びます。TSVファイルを扱う場合はタブを選択します。
- 変換結果を確認する 入力に応じて変換結果が自動的に表示され、件数が「件数」欄に表示されます。
- 結果をコピーする 「コピー」ボタンで変換結果をクリップボードにコピーし、他のツールやシステムへ貼り付けて利用します。
使いこなすためのヒント
- JSONL→CSV変換では、行ごとにキーの数や順序が違っていても、全行に登場したキーの和集合を見出し行にして自動的に列を揃えます。
- 見出しに空欄や重複がある列は、自動的に col{列番号} や 列名_2 というキーに置き換わり、値の欠落や上書きを防ぎます。
- 値が数値・真偽値・ネストしたオブジェクトや配列であっても、CSVのセルには文字列として書き出されるため、変換後にExcel等でそのまま開けます。
- 姉妹ツールの「CSV→JSON変換」「JSONL⇔JSON配列変換」と組み合わせると、CSV・JSON配列・JSONLの3形式を自由に行き来できます。
- ダブルクォートで囲まれたセル内のカンマ・改行にも対応したRFC 4180準拠のパーサーを使うため、Excel等が出力した複雑なCSVも正しく変換できます。
CSV⇔JSON Lines変換の活用シーン
機械学習データセットの準備
スプレッドシートで整理した学習データをJSONLに変換し、そのままファインチューニング用のデータセットとして利用できます。
ログファイルの表計算ソフトでの確認
JSONL形式で出力されたアプリケーションログをCSVに変換すれば、Excelやスプレッドシートで開いてフィルタ・集計ができます。
キーの数が揃っていないデータの統合
行ごとに項目数が異なるJSONLデータでも、CSV変換時に自動で列を揃えるため手作業での整形が不要です。
API・データベースへの投入データ作成
CSVで受け取ったデータをJSONL形式に変換し、1行ずつ読み込む取り込み処理へそのまま流し込めます。
用語集
- CSV
- Comma-Separated Valuesの略で、値をカンマで区切って表形式データを表すプレーンテキスト形式です。
- JSON Lines(JSONL)
- 1行に1つのJSONオブジェクトを記述する形式です。行単位で独立して読み書きできるため、巨大なデータをストリーム処理する用途に向いています。
- RFC 4180
- CSVファイルの一般的な書式を定めた仕様です。ダブルクォートで囲んだセル内のカンマ・改行・引用符の扱い方が規定されています。
- キーの和集合
- 複数行にまたがって登場したすべてのキー(列名)をもれなく集めた集合のことです。JSONL→CSV変換ではこの和集合が見出し行になります。
- ストリーム処理
- データ全体を一度にメモリへ読み込むのではなく、1件(1行)ずつ順番に処理していく方式です。JSON Linesはこの処理方式と相性がよい形式です。
よくある質問
余談ですが ― JSON Linesが機械学習とログ処理の「共通語」になった理由
JSON Lines(JSONL)が広く使われるようになった大きなきっかけの1つが、機械学習のデータセット配布です。大規模言語モデルのファインチューニング用データは数百万件規模の「入力と出力のペア」で構成されることが多く、これを1つのJSON配列にまとめてしまうと、ファイル全体をメモリに読み込んでパースし終えるまで1件も取り出せません。JSONLなら1行=1件のレコードとして独立して読み書きできるため、巨大なデータセットでもストリーム処理が可能になります。
ログ処理の世界でもJSONLは相性がよい形式です。ElasticsearchやLogstashをはじめとするログ収集基盤は、アプリケーションが1件ずつ出力するイベントを逐次的に取り込む設計になっており、JSON配列のように「全体が1つの構造」である形式よりも、1行ごとに独立して追記・パースできるJSONLのほうが自然に噛み合います。
一方でCSVは今なお、業務データの受け渡しや表計算ソフトでの確認において根強い需要があります。本ツールはCSVとJSONLという性質の異なる2形式を直接橋渡しすることで、「CSVで受け取ったデータをそのまま機械学習パイプラインに投入したい」「JSONLで出力されたログをExcelで確認したい」といった、両方の世界を行き来する場面をワンステップで完結させます。