CSV 地址全部擠在同一欄?先確認逗號、分號還是 Tab 分隔

全部資料擠在 A 欄,多半表示檔案實際使用的分隔符號和 Excel 自動判讀不同。先關閉而不儲存,改用「資料 → 從文字/CSV」開啟預覽,逐一測試逗號、分號或 Tab,直到欄名和每列欄數符合原本規格。不要用全域取代把分號改逗號,因為地址或備註本身也可能含這些符號。
先從標題列判讀
虛構檔案第一行可能長成:
- id,address,status:通常是逗號分隔。
- id;address;status:可能是分號分隔。
- id[TAB]address[TAB]status:是 Tab 分隔的文字檔。
- 只有 address 一欄:可能本來就只有完整地址,不能強行拆三欄。
| 預覽結果 | 判斷 |
|---|---|
| 標題正好分成預期三欄 | 分隔符候選正確 |
| 英文地址每遇逗號就多一欄 | 引用規則或分隔符有問題 |
| 第一列正常、部分列欄數不同 | 來源欄位含未正確引用符號 |
| 所有資料仍一欄 | 選錯分隔符,或檔案本來非分隔格式 |
重匯的具體做法
- 複製原始檔,將工作副本放進專用資料夾。
- 在空白活頁簿用「從文字/CSV」選取檔案。
- 對照來源系統的匯出說明選分隔符;沒有說明時,從標題列與多筆資料共同判斷。
- 檢查至少一筆中文地址、一筆英文地址與一筆含備註資料。
- 在預覽階段把地址、郵遞區號、室號、ID 設成文字。
- 載入後統計每列欄位完整性,空欄與溢出欄另列錯誤。
- 保存匯入設定與來源檔,不覆寫原 CSV。
如果正確分隔後仍有少數列錯位,問題不是「那幾筆地址格式不好」,而可能是來源沒有正確引用欄位。把它們交回資料提供者或重做匯出,不要手工移格後忘記留下紀錄。
成功拆成欄後,只有完整地址欄才送入批次地址整理工具;需要把整串地址拆成縣市、區、路名與門牌時,改用地址欄位拆分工具。完整批次清理的原始值與人工覆核方式見Excel 地址批次整理指南。分隔符修正不會驗證門牌存在,遇到缺漏仍要人工確認。
分隔符修正只是讓欄位重新可讀;接著可依重複地址名單整理指南保留原始列號並做候選比對。
不要只看副檔名猜分隔符
副檔名是 .csv 不保證一定使用逗號;某些地區設定或匯出工具會採分號,TSV 則使用 Tab。還可能出現 UTF-8 BOM、欄位內合法逗號及被引號包住的分隔字元。應從匯出規格、標題列與解析預覽一起判斷,不用搜尋取代全檔字元。
可以在純文字副本查看前幾列,數出引號外的候選分隔符,再到匯入預覽驗證。若某列地址含逗號,正確解析器會把引號內逗號保留在同一欄;單純以字串 split 切開會得到錯誤欄數。
正確分欄後的接受條件
標題欄數符合規格、每列解析欄數一致、來源與匯入筆數相同、record_id 唯一,而且含逗號或換行的地址仍完整。若只有部分列多一欄,問題可能是引用規則而不是分隔符;若所有列都一欄,才較像選錯分隔方式。
重匯時建立新工作簿,不覆蓋原 CSV。指定編碼、分隔符和各欄資料型別後先載入小樣本,再抽查批次首尾與特殊字元列。成功分欄只修復檔案結構,地址是否存在、欄位語意是否正確仍要另外檢查。
地區設定改變時要重測
同一台電腦更換地區設定後,Excel 的預設分隔判讀可能不同;把檔案寄到另一國家的同事也可能得到不同結果。交付說明應寫明編碼與分隔符,並建議使用匯入功能而非雙擊。跨地區流程可附一個不含私人資料的小樣本,讓接收者先驗證欄位數。