把 CSV 每一列轉成各語言原生的陣列字面值
這個轉換器的作用
CSV 檔案不過是以分隔字元隔開的一列列值,但程式碼需要把這些列當成真正的陣列字面值來用。這個工具會解析 CSV 或 TSV 文字,重新寫成可以直接貼進專案的原始碼:可以是由列與欄組成的二維陣列,也可以是以標頭列作為鍵的物件陣列。它會讀取分隔字元,把每一列拆成欄位,再依你選的語言(JavaScript、Python、Java、C#、PHP、Go、Ruby、Rust)以其陣列與字串語法輸出結果。
程式碼會隨輸入即時更新,編輯器下方的檢查列會顯示讀取到的列數與欄數;文字無法讀取時,也會說明該修正什麼。
什麼時候用
每當你手上有 CSV 匯出的表格資料,又想把它當成腳本裡的字面值時就很好用:建立測試用的 fixture、把查詢表寫死在程式碼裡,或是不必另外寫檔案讀取就把小型資料集放進示範程式。由於每個目標語言都會輸出各自的原生語法,結果不必手動調整括號與引號就能直接編譯或執行。
物件陣列模式是把試算表變成結構化紀錄最快的方式:開啟標頭選項後,每一列都會變成以第一列為鍵的物件,可以直接拿來逐一走訪。若最終要的是資料檔而不是原始碼,那個形狀由CSV ↔ JSON 轉換器產出;而當 fixture 的文字欄需要填充用的假文時,可以向Lorem Ipsum 生成器要。
範例:三列變成陣列字面值
假設 CSV 第一列是 name,age,active,接著是 Alice,30,true 和 Bob,25,false。轉成 JavaScript 的二維陣列會是 [["name","age","active"],["Alice",30,true],["Bob",25,false]]。切換成物件陣列輸出,則會得到 [{"name":"Alice","age":30,"active":true},{"name":"Bob","age":25,"active":false}]。若改選 Python,同一份資料會以 True、False、None 取代 JavaScript 的字面值回傳。
分隔字元、引號與型別
分隔符號可以自訂:逗號、分號、Tab、管道符號,遇到特殊情況還能指定自訂字元,這對使用分號的歐洲匯出檔或 TSV 檔案很重要。自動型別偵測會決定像 30 或 true 這樣的欄位要保留為數字或布林值,而不是加引號的字串;若想把所有值都保留為文字,可以將它關閉。開啟的檔案(CSV、TSV 或 TXT)與貼上的文字以相同方式解析。