Windows 處理UTF8 CSV就是悲劇… Excel與R搭配時的解法…
Excel處理CSV UTF8 編碼就是悲劇!!!!
- excel 2016在英文版介面下,匯入文字檔(csv、txt)無法選擇UTF8編碼,只有2種編碼ansi、mac可選
- excel 2016在中文版介面下,匯入文字檔(csv、txt),可選擇UTF8編碼及其他世界各國文字編碼
- 總之微軟放棄不是很想認真處理 UTF8 CSV的問題…
利用Excel協助Data Clean :
- 不要讓excel直接處理csv UTF8格式
- 正常讀取utf的文字編輯軟體打開uft8文件
- 於文字編輯軟體中全選文字→複製貼上至excel→excel中進行資料剖析(這樣比由匯入文字檔還快…)
被excel存檔過後的csv會自動變成BIG5編碼 → 避免夜長夢多,請不要這樣做
excel要存檔成UTF8,有UTF8文字檔的 → 超難用!!!!
PowerBI 也無法處理 UTF8 csv → 存成預設為UTF8的 xlsx 保證沒問題
與R搭配時,不想管編碼問題直接用excel存成xlsx、xls:
- 避免處理編碼的問題時,直接把csv改存成xlsx或xls格式
- 安裝套件 install.packages(
readxl
) # 此套件可讀入單頁sheet
- xlsx格式: 使用xml進行資料儲存,預設已是UTF8編碼;可將副標名改為zip後,解壓縮即可驗證
- xls格式: 編碼套件 readxl 會幫忙轉成uft8
- 所以 read_excel 指令中沒有指定編碼的選項!!!
- 讀入資料,記住如果xlsx、xls內有多張sheet要指定sheet,否則只能讀入一個sheet
- 例: read_excel(
/Users/xxx/Downloads/WeareJordan.xls
,sheet=3)
- 別忘了在 windows 底下目錄名稱要用2個\指定
- 例: read_excel(
c:\Users\zzz\Desktop\CHINA.xls
)
- 在mac底下,讀入的檔名不可以是數字開頭的檔名,例如: 444_js.xls 要改成變數命名規則 js.xls ;winodws則無此限制,但為了未來跨平台,請直接以英文做為檔名開頭
- 在windows底下,檢視匯入的資料時,若非big5編碼內的文字會以uft8的編碼型式顯示;而在mac則無此問題
長治久安之道,資料量小時請存成xlsx,資料量多時請用資料庫管理…
- 資料量少的時候而且資料有大量與Excel協作機會時,可以考慮直接將資料亦寫成 xlsx 輸出
- 安裝套件 install.packages(
openxlsx
)
- 使用資料 write.xlsx() 寫檔至 xlsx
- 隨著資料愈來愈多,可以考慮存成直接支援uft8的資料庫系統;例如:sqlite可跨平台使用,且支援UTF8openxlsx
沒有留言:
張貼留言