CSV⇔JSON Lines(JSONL)互轉

在CSV檔案與JSON Lines(JSONL,每行一個JSON物件的格式)之間相互轉換。可選擇分隔符,欄位不一致的行也會自動合併處理。轉換完全在瀏覽器內完成,不會發送到伺服器。

CSV行與JSONL行的對應關係

CSV表頭行+資料行 name,age,city
Alice,30,Tokyo
轉換後的JSONL(每行一個物件) {"name": "Alice", "age": "30", "city": "Tokyo"}

以表頭行的列名作為鍵,CSV的每一資料行都會變成一個JSON物件,並作為JSONL的一行輸出。反方向(JSONL→CSV)轉換時,所有行中出現過的鍵的並集會成為表頭行,缺少某個鍵的行在對應列中留空。

使用提示

  • 進行JSONL→CSV轉換時,各行的鍵的數量或順序不一致也沒關係,工具會自動彙總所有行出現過的鍵的並集作為表頭,並對齊各列。
  • 表頭中的空白或重複列會自動替換為 col{列號} 或 名稱_2 這樣的鍵名,避免數值丟失或被覆蓋。
  • 數值、布林值或巢狀的物件/陣列,在CSV單元格中都會以文本形式寫出,因此轉換結果可以直接在Excel等軟體中開啟。
  • 與姊妹工具「CSV→JSON轉換」「JSONL⇔JSON陣列轉換」搭配使用,可以在CSV、JSON陣列、JSONL這三種格式之間自由切換。
  • CSV部分採用符合RFC 4180標準的解析器,能正確處理引號內的逗號與換行符,因此Excel等軟體匯出的複雜CSV也能正確轉換。

常見問題

CSV適合用電子表格軟體開啟檢視和彙總資料,而JSON Lines可以逐行進行流式解析,因此常用於機器學習資料集和日誌採集工具。本工具可以幫助你在兩種格式之間快速轉換,無需手動處理。

除表頭行以外的每一資料行,都對應JSONL的一行(即一個JSON物件),表頭行的列名會成為該JSON物件的鍵。

可以。進行JSONL→CSV轉換時,工具會收集所有行中出現過的全部鍵,合併為一個表頭行;缺少某個鍵的行,對應列會輸出為空。

支援。只需將“分隔符”選擇為“製表符”,兩個轉換方向都可以直接處理製表符分隔的資料。

不會。所有轉換處理都在瀏覽器內通過JavaScript完成,輸入的內容不會被發送到任何伺服器。
ツールくん

閒話 ― JSON Lines為何成為機器學習與日誌處理的“通用語言”

推動JSON Lines(JSONL)普及的一大原因,是機器學習資料集的分發方式。大語言模型的微調資料往往由數百萬條“輸入與輸出”配對組成,如果將它們打包成一個JSON陣列,就必須等整個檔案載入並解析完畢後才能讀取任何一條記錄。JSONL將每一行視為一條獨立完整的記錄,從而可以對海量資料集進行流式、增量式處理。

日誌處理領域也因類似原因廣泛採用JSONL。Elasticsearch、Logstash等日誌採集平臺的設計理念是逐條攝取應用產生的事件,而“每行都是獨立結構”的格式,天然比“整體是單一結構”的JSON陣列更契合這種追加寫入、逐行解析的模式。

與此同時,CSV在團隊間資料交接、電子表格查閱等場景中依然根深蒂固。本工具通過直接打通這兩種性質迥異的格式,讓你可以一步將CSV資料接入機器學習流水線,或將JSONL日誌檔案在Excel中開啟檢視。