CSV⇔JSON Lines(JSONL)互轉
在CSV檔案與JSON Lines(JSONL,每行一個JSON物件的格式)之間相互轉換。可選擇分隔符,欄位不一致的行也會自動合併處理。轉換完全在瀏覽器內完成,不會發送到伺服器。
CSV行與JSONL行的對應關係
| CSV表頭行+資料行 | name,age,cityAlice,30,Tokyo |
|---|---|
| 轉換後的JSONL(每行一個物件) | {"name": "Alice", "age": "30", "city": "Tokyo"} |
以表頭行的列名作為鍵,CSV的每一資料行都會變成一個JSON物件,並作為JSONL的一行輸出。反方向(JSONL→CSV)轉換時,所有行中出現過的鍵的並集會成為表頭行,缺少某個鍵的行在對應列中留空。
什麼是 CSV⇔JSON Lines 互轉
CSV⇔JSON Lines 互轉是指將表格形式的 CSV 資料,與每行一個 JSON 物件的 JSON Lines(JSONL)格式相互轉換。本工具使用符合 RFC 4180 標準的解析器讀取 CSV,因此即使是引號內包含逗號或換行符的複雜 CSV 也能正確解析。
本工具支援雙向轉換:CSV→JSONL 時以表頭行的欄名作為鍵,JSONL→CSV 時則以所有行中出現過的鍵的並集作為表頭行。即使各行的鍵數量不同,也能自動對齊欄位,因此既適合整理機器學習資料集,也適合整理日誌檔案。
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這三種格式之間自由切換。
- CSV部分採用符合RFC 4180標準的解析器,能正確處理引號內的逗號與換行符,因此Excel等軟體匯出的複雜CSV也能正確轉換。
CSV⇔JSON Lines 互轉的使用場景
準備機器學習資料集
將試算表中整理好的訓練資料轉換為 JSONL,可直接用作微調資料集。
在試算表中檢視日誌檔案
將以 JSONL 格式匯出的應用程式日誌轉換為 CSV,即可在 Excel 或試算表軟體中開啟以進行篩選和彙總。
合併鍵數量不一致的資料
即使各行欄位數量不同的 JSONL 資料,轉換為 CSV 時也會自動對齊欄位,無需手動整理。
準備寫入 API 或資料庫的資料
將 CSV 資料轉換為 JSONL,可以直接輸入到逐行讀取的匯入流程中。
術語表
- CSV
- Comma-Separated Values 的縮寫,是一種用逗號分隔數值來表示表格資料的純文字格式。
- JSON Lines(JSONL)
- 一種每行記錄一個 JSON 物件的格式。由於可以按行獨立讀寫,適合對海量資料進行流式處理。
- RFC 4180
- CSV 檔案的一般格式規範,規定了雙引號括起的儲存格內逗號、換行符、引號的處理方式。
- 鍵的並集
- 把多行中出現過的所有鍵(欄名)無遺漏地彙總起來的集合。JSONL→CSV 轉換時,這個並集會成為表頭行。
- 流式處理
- 不是一次性將全部資料讀入記憶體,而是按記錄(按行)依次處理的方式。JSON Lines 是與這種處理方式相性很好的格式。
常見問題
閒話 ― JSON Lines為何成為機器學習與日誌處理的“通用語言”
推動JSON Lines(JSONL)普及的一大原因,是機器學習資料集的分發方式。大語言模型的微調資料往往由數百萬條“輸入與輸出”配對組成,如果將它們打包成一個JSON陣列,就必須等整個檔案載入並解析完畢後才能讀取任何一條記錄。JSONL將每一行視為一條獨立完整的記錄,從而可以對海量資料集進行流式、增量式處理。
日誌處理領域也因類似原因廣泛採用JSONL。Elasticsearch、Logstash等日誌採集平臺的設計理念是逐條攝取應用產生的事件,而“每行都是獨立結構”的格式,天然比“整體是單一結構”的JSON陣列更契合這種追加寫入、逐行解析的模式。
與此同時,CSV在團隊間資料交接、電子表格查閱等場景中依然根深蒂固。本工具通過直接打通這兩種性質迥異的格式,讓你可以一步將CSV資料接入機器學習流水線,或將JSONL日誌檔案在Excel中開啟檢視。