JSONL マージャー
複数のJSONL(JSON Lines)ファイルを1つのファイルに結合。並べ替え、重複排除、行の検証。100%クライアントサイド、データはブラウザから外に出ません。
入力ファイル
.jsonl ファイルをここにドロップ、または複数ファイルを選択
.jsonl, .ndjson, .json, .txt に対応
マージオプション
入力ファイル
.jsonl ファイルをここにドロップ、または複数ファイルを選択
.jsonl, .ndjson, .json, .txt に対応
マージオプション
マージ出力
JSONLファイルをドロップまたは選択してマージ
cat file1.jsonl file2.jsonl でデータが壊れる理由
JSONL の結合には単純な連結が適しているように見えます。実際、いずれかのファイルの末尾に改行がない場合を除けば動作します。改行がないと、前のファイルの最終レコードと次のファイルの先頭レコードが結合され、1 つの無効な行になります。
# file1.jsonl の末尾には改行がない:{"id": 1}{"id": 2}⏎missing# file2.jsonl:{"id": 3}# cat file1.jsonl file2.jsonl の出力:{"id": 1}{"id": 2}{"id": 3} ← one broken line: parse error, two records lost
このツールは各入力の最終バイトを確認し、結合前に不足している改行を挿入します。入力の保存方法にかかわらず、結合後の出力は常に有効です。パイプラインで cat を使う必要がある場合は、防御的な形式として awk 1 file1.jsonl file2.jsonl を使用できます(awk は各行の末尾に改行を付け直します)。
JSONL ファイルのマージ方法
複数のJSONLファイルをアップロードエリアにドラッグ&ドロップします。各ファイルはブラウザ内で完全に読み取られ、データがサーバーに送信されることはありません。.jsonl、.ndjson、.json、.txt形式のファイルに対応しています。
アップロード後、上下矢印を使用してファイルの順序を変更し、マージ順序を制御できます。重複排除を有効にするとコンテンツ全体に基づいて重複行を削除し、JSON検証を有効にすると有効なJSONでない行をスキップします。
マージされた出力はプレビューパネルに最初の100行が表示されます。完全なマージファイルを.jsonlファイルとしてダウンロードするか、クリップボードにコピーできます。統計には合計行数、ファイルサイズ、削除された重複や無効な行が表示されます。
結合の厳密な動作
- 順序
- ファイルは追加した順序で連結され、各ファイル内のレコード順も保持されます。結合は追記のみで、レコードの並べ替え、書き換え、再整形は行われません。
- 境界の修復
- 入力の末尾に改行がない場合は自動的に修正されます(上記の例を参照)。一部の利用側では拒否されるため、レコード間の空行は削除されます。
- 重複排除:行の完全一致
- 任意で有効にできます。2 つのレコードは、元の行がバイト単位で完全に一致する場合のみ重複と見なされます。{"a":1,"b":2} と {"b":2,"a":1} は、JSON 値として等しくてもキー順によって行が異なるため、重複排除されません。値単位で重複を排除する場合は、先にフォーマッターのキー並べ替えオプションで正規化してください。
- 分割ツールとの往復変換
- 結合は分割の正確な逆操作です。ファイルを N 個のチャンクに分割し、順番どおりに結合し直すと、結果は元ファイルとバイト単位で一致します(重複排除が無効の場合)。この特性により、「分割 → 並列処理 → 結合」は安全なパイプラインパターンになります。
JSONLマージとは?
JSONLマージは、複数のJSONL(JSON Lines)ファイルを1つのファイルに結合するプロセスです。各入力ファイルには1行に1つのJSONオブジェクトが含まれ、マージャーは指定した順序ですべてのファイルのすべての行を1つの出力ファイルに連結します。
トレーニングデータシャード、日次ログエクスポート、チャンク化されたAPIレスポンスなど、複数のファイルに分割されたデータセットを扱う場合に不可欠です。マージにより、処理、分析、または単一のJSONL入力を期待するプラットフォームへのアップロードが容易になります。
よくあるエラーと解決策
ファイル間での重複レコード
重複するJSONLエクスポート(例:タイムスタンプが重複する日次ログ)をマージすると重複が発生する場合があります。「重複を削除」オプションを有効にすると、行内容の完全一致に基づいて自動的に重複排除されます。意味的な重複排除(同じデータ、異なるフォーマット)には、マージ前にJSONLフォーマッターですべてのファイルを統一フォーマットにしてください。
ファイル間のエンコーディングの違い
異なるソースからのファイルが異なる文字エンコーディング(UTF-8、UTF-8 BOM付き、Windows-1252)を使用している場合があります。これにより一部のファイルの最初の行でJSONパースが失敗する可能性があります。マージ前にすべてのファイルがBOMなしUTF-8で保存されていることを確認してください。
ファイル間のスキーマの不一致
異なるソースのJSONLファイルは異なるキー構造を持つ場合があります。マージャーはスキーマの違いに関係なくファイルを結合しますが、ダウンストリームツールは一貫したスキーマを期待する場合があります。JSONL Validatorでマージ出力を検証し、各行が有効なJSONであることを確認してください。
一般的な使用例
データセット統合
複数のJSONLトレーニングデータシャードを1つのファイルに結合し、OpenAIファインチューニング、HuggingFaceなどのMLプラットフォームにアップロード。
データパイプライン組み立て
並列データ処理パイプラインの出力ファイルを1つのJSONLファイルにマージし、ダウンストリームで使用。
MLトレーニングデータ準備
複数のソースからのプロンプト-完了ペアを1つのJSONLファイルに統合し、モデルファインチューニングに使用。
ログファイル集約
日次または時間単位のJSONLログエクスポートを1つのファイルに結合し、包括的なログ分析と検索を実現。
チームコラボレーション
異なるチームメンバーが提供したJSONLデータファイルを統一データセットにマージし、共有分析に使用。
分析データのマージ
複数のサービスや期間のJSONLイベントデータを結合し、統合的な分析とレポートに活用。
よくある質問
この JSONL マージャーはどのようにファイルを結合しますか?
はい。すべてのマージはブラウザ内でローカルに行われます。ファイルデータがサーバーにアップロードされることはありません。JSONLファイルがデバイスから外に出ることはありません。
この JSONL マージャーは重複行を削除できますか?
ファイル数に厳密な制限はありません。必要な数のJSONLファイルを追加できます。ただし、すべてのファイルがブラウザメモリに読み込まれるため、非常に大きな合計データセット(数百MB)ではデバイスによって遅くなる場合があります。
この JSONL マージャーはデータをアップロードしますか?
重複排除は各行のトリムされた全コンテンツを比較します。2つの行が同一(同じ文字、同じ順序)の場合、2番目の出現が削除されます。これは完全一致の重複排除です — 同じデータでもキーの順序やスペースが異なる行は別として扱われます。
このツールで NDJSON ファイルをマージできますか?
はい。アップロード後、各ファイルの横にある上下矢印ボタンを使用して順序を変更できます。マージ出力は上から下へのファイル順序に従います。
一度にマージできるファイル数は?
空行とスペースのみの行はファイル読み取り時に自動的にフィルタリングされます。マージ出力には表示されません。これはJSONL仕様に従い、空白行は無視されます。
マージした JSONL ファイルを再度分割するにはどうすればよいですか?
はい。マージャーはスキーマの違いに関係なくファイルを結合します。各行はそのまま保持されます。スキーマの一貫性が必要な場合は、マージ前にファイルを個別に検証または変換してください。
マージャーは元のファイルの順序を保持しますか?
はい。各ファイル内の行は元の順序を維持します。ファイルはファイルリストに表示されている順序で連結されます。マージ前にファイルの順序を調整できます。
異なるスキーマのファイルをマージできますか?
このツールはドラッグ&ドロップアップロード、ファイル並べ替え、重複排除、JSON検証、行数統計、即時プレビューを備えたビジュアルインターフェースを提供します。catやcopyコマンドによる手動連結とは異なり、末尾の改行や空行などのエッジケースを自動的に処理します。