我正在嘗試導入日語的csv。這段代碼:url <- 'http://www.mof.go.jp/international_policy/reference/itn_transactions_in_securities/week.csv'x <- read.csv(url, header=FALSE, stringsAsFactors=FALSE)返回以下錯誤:Error in type.convert(data[[i]], as.is = as.is[i], dec = dec, na.strings = character(0L)) : invalid multibyte string at '<91>?O<8b>y<82>ёΓ<e0><8f>?<94><94><84><94><83><8c>_<96>???@(<8f>T<8e><9f><81>E<8e>w<92><e8><95>?@<8a>?x<81>[<83>X<81>j'我嘗試更改編碼(Encoding(url) <- 'UTF-8'也更改為latin1),并嘗試刪除read.csv參數,但在每種情況下均收到相同的“無效的多字節字符串”消息。是否應該使用其他編碼,還是存在其他問題?
3 回答

開滿天機
TA貢獻1786條經驗 獲得超13個贊
Encoding設置字符串的編碼。它不會設置您想要的字符串表示的文件的編碼。
經過嘗試,這對我有用"UTF-8":
x <- read.csv(url, header=FALSE, stringsAsFactors=FALSE, fileEncoding="latin1")
您可能希望跳過前16行,并分別讀入標題。無論哪種方式,仍有大量清理工作要做。
x <- read.csv(url, header=FALSE, stringsAsFactors=FALSE,
fileEncoding="latin1", skip=16)
# get started with the clean-up
x[,1] <- gsub("\u0081|`", "", x[,1]) # get rid of odd characters
x[,-1] <- as.data.frame(lapply(x[,-1], # convert to numbers
function(d) type.convert(gsub(d, pattern=",", replace=""))))
- 3 回答
- 0 關注
- 1376 瀏覽
添加回答
舉報
0/150
提交
取消