Re: [問題] 讀入"鴴" "鸊鷉" 等怪字

作者: Neisseria (Neisseria)   2015-07-04 19:15:04
我的環境是 Mac OS X 10.9.5
R 版本是 3.1.1 終端機 locale 是 zh_TW-utf8
Excel 版本是 2011 for OS X
剛剛簡單測了一下這個 xls 檔
如過透過 Excel 轉成 CSV 檔,再透過 iconv 轉的話
有些字會漏失,像是「鵐」
如果先用 gdata 這個套件將這個 xls 檔讀到 R 系統中
再用 write.csv 將資料輸出,就可以完整保留檔案中的文字
用 gdata 的話,不用透過 Java,而是透過 Perl
不知道在 Windows 下會不會很難裝
過程大概如下:
library(gdata)
bird <- read.xls('birdnames.xls', stringsAsFactors = FALSE)
write.csv(bird, 'birdnames.csv')
參考看看
※ 引述《helixc (@_2;)》之銘言:
: [軟體熟悉度]:
: 新手+入門
: [問題敘述]:
: 如標題,因為再分析鳥類的資料,所以會遇到鴴、鸊、鷉這種某些系統無法顯示的字
: 和程式語言不太熟,好像是BIG5的編碼比較少,所以遇到這些怪字會崩潰,
: 轉到UTF8就會恢復正常?
: 問題是目前手邊的名錄都是放在Excel當中,
: 這些怪字在Excel當中活得很好,但一輸出成CSV等純文字文件就會變成亂碼。
: 我再去Notepad++等軟體轉換編碼也沒有用。
: [程式範例]:
: 鳥類名錄資料在下面:
: https://dl.dropboxusercontent.com/u/18689552/birdnames.xls
: 另外我在NotePad++自己打了一個用UTF-8編碼的檔案如下:
: https://dl.dropboxusercontent.com/u/18689552/birdnametest.txt
: 裡面只有兩行字:
: 173,反嘴鴴,長腳鷸科
: 174,水雉,水雉科
: 直接用read.table,產生怪字,而且還只讀一行
: data<-read.table("birdnametest.txt"); data
: V1
: 1 174,瘞湧\x9b\x89,瘞湧\x9b樯\xa7\x91\n
: 加上eocoding="UTF-8"之後怪字不見了,難字(鴴)沒出來,但一樣只有一行
: 有需要的話是可以在Notepad++硬做一個UTF-8的檔案出來啦,
: 名錄最多也不超過700種可以用工人智慧來完成,
: 但也要R能夠讀入並顯示呀Orz
: 系統資訊:
: 不太會查,寫一下知道的:
: Windows 7
: RStudio Version 0.99447
: R x64 3.2.1
作者: helixc (@_2;)   2015-07-05 00:41:00
感謝!

Links booklink

Contact Us: admin [ a t ] ucptt.com