Tablora · 資料庫
檢查混合CRLF與LF行尾的紀錄
從多個匯出檔貼上的文字,可能混用CRLF、LF和CR換行。只要不在引號內,結構檢查工具都會把它們視為記錄的分界。
混用的換行從哪裡來
Windows程式通常以歸位字元加換行字元(CRLF)結束每一行,Unix和macOS工具只用換行字元(LF),有些較舊的系統則只用歸位字元(CR)。把不同程式的輸出接在一起,或把一個檔案的一部分貼到另一個檔案,同一段文字就可能三種都有。有些工具接著就會把兩筆記錄併成一筆,或把一筆記錄拆成兩筆。
只要位在加引號的欄位之外,結構檢查工具都會把這三種當成一筆記錄的結尾。引號內的換行屬於該儲存格的文字,不會開始新的記錄。
清點記錄
- 把完整的文字一次貼到「表格文字」,而不是分段貼上。
- 選擇「欄位分隔符號」或維持選取「偵測分隔符號」,再按「計算」。
- 把「列數」和依原始頁面預期的記錄數比較。
- 查看「寬度不同的列」;值為0表示每筆記錄的欄位數都和標題相同。
- 如果資料中有加引號的備註,請另外檢查這些儲存格,因為其中的換行會被保留。
Mira和Noah範例
本頁範例包含標題id,name和兩筆記錄1,Mira與2,Noah,「欄位分隔符號」為逗號,各行之間的換行方式不同。結構檢查工具回報3列2欄。第3列第2欄是Noah,表示即使換行方式不一致,最後一筆記錄也被找到了。
文字結尾的單一換行,不會多出一筆空記錄。
下載如何處理換行
不論輸入使用哪種換行,「下載 (CSV)」都會把每個記錄分界寫成CRLF,所以下載的檔案是一致的。加引號的儲存格內的換行,會照原樣寫在引號內。Tablora應用程式的CSV匯出,也以CRLF結束每一列。
如果接收端的程式顯示的記錄數仍然不對,請在修改資料之前,先檢查它的匯入設定中對加引號欄位的處理方式。
數量還是不對時
- 列數比預期多,可能表示原始資料中某個沒加引號的值裡有換行。
- 列數比預期少,可能表示某個開頭引號吞掉了後面的行;請找找有沒有沒結束的加引號欄位。
- 在檢查文字之前,不要手動替換換行;解析器本來就能處理這三種。
- 只用歸位字元結束一行的系統所產生的文字,在某些編輯器中看起來像一整行。結構檢查工具仍會把它拆成記錄,所以請相信「列數」,而不是編輯器的顯示。
輸入值
- 表格文字
- id,name 1,Mira 2,Noah
- 欄位分隔符號
- ,
結果
- 列數
- 3
- 欄數
- 2
| id | name |
|---|---|
| 1 | Mira |
| 2 | Noah |
- 寬度不同的列
- 0