Tablora · 資料庫
區分欄位邊界與小數標點
在Paper;1.234,50這類以分號分隔的表格中,逗號是小數符號。請先確定欄位分界,再轉換金額。
標點符號身兼兩職
設定為德文、法文、西班牙文、土耳其文和許多其他語言的試算表,儲存CSV時會用分號分隔欄位,因為逗號已經被當成小數符號。像Paper;1.234,50這樣的一行,只有分號一個欄位分界,金額中的兩個字元都屬於數字。
這需要兩個獨立的判斷:哪個字元分隔欄位,以及金額欄的數字是怎麼寫的。兩者一搞混,一個金額就會被拆到兩個儲存格裡。
檢查Paper;1.234,50
本頁範例包含標題item;amount和記錄Paper;1.234,50,「欄位分隔符號」為分號。結構檢查工具回報2列2欄,第2列第2欄是1.234,50。在這個階段,金額仍是文字;結構檢查工具不轉換數字。
如果改選逗號作為「欄位分隔符號」,標題會變成item;amount一個儲存格,記錄則拆成Paper;1.234和50。這時「欄數」顯示2,「寬度不同的列」顯示1,因為標題只有一個欄位。在這個範例中,「偵測分隔符號」會選擇分號,因為它讓每一列的寬度都相同。
從結構到數字
- 在結構檢查工具中先確定「欄位分隔符號」,並確認「寬度不同的列」為0。
- 開啟數值格式統一工具,貼上同一段文字,並把「欄位分隔符號」設為分號。
- 勾選「首列包含欄名」,在「數值欄」中選擇amount。
- 把「小數分隔符號」設為 , 、「數位分組符號」設為 . ,再按「計算」。
- 金額1.234,50會變成1234.50;請查看「待檢查的值」中有沒有設定沒涵蓋到的值。
- 「待檢查的值」數量偏高,可能表示有些金額以點作為小數符號;由兩個來源拼成的檔案可能混用不同寫法。
容易混淆的地方
- 以分號分隔的檔案,大多數軟體仍稱為CSV。請看實際的字元,而不是副檔名。
- 自動偵測只是起點。兩種分隔符號得出同樣一致的結果時,請明確選擇。
- 不要在整段文字中互換逗號和點,讓它看起來像英文檔案;那也會改動說明和代碼。
- 下載轉換後的表格時,CSV以逗號分隔欄位,轉換後的金額使用點,所以它和你一開始的檔案是不同的寫法。
- Tablora應用程式是從PDF和照片而不是文字讀取表格,所以那裡不會遇到這個選擇;它的CSV匯出以逗號分隔欄位。
輸入值
- 表格文字
- item;amount Paper;1.234,50
- 欄位分隔符號
- ;
結果
- 列數
- 2
- 欄數
- 2
| item | amount |
|---|---|
| Paper | 1.234,50 |
- 寬度不同的列
- 0