[英]Error while reading csv file in R
我在用 R 讀取 csv 文件時遇到了一些問題。
x=read.csv("LorenzoFerrone.csv",header=T)
Error in make.names(col.names, unique = TRUE) :
invalid multibyte string at '<ff><fe>N'
我可以使用 libre office 讀取文件,沒有問題。
我無法上傳文件,因為它充滿了合理的信息。
我能做什么?
設置編碼似乎是解決問題的方法。
> x=read.csv("LorenzoFerrone.csv",fileEncoding = "UCS-2LE")
> x[2,1]
[1] Adriano Caruso
100 Levels: Ada Adriano Caruso adriano diaz Adriano Diaz alberto ferrone Alexey ... Zia Tina
原因是無效的編碼。 我已經解決了用 e 替換所有的“è”
這將按原樣讀取列名,並且不會返回任何錯誤:
x = read.csv(check.names = F)
要刪除/替換列名稱中的麻煩字符,請使用以下命令:
iconv(names(x), to = "ASCII", sub = "")
我發現這個問題是由文件代碼引起的,我解決了這個問題,用Windows note打開它,用UTF-8保存,然后用Excel重新打開(一開始是亂碼),然后用UTF-8重新保存,然后就可以了!
您需要在sep
參數中指定正確的分隔符。
您可以在閱讀 csv 時始終使用“Latin1”編碼:
x = read.csv("LorenzoFerrone.csv", fileEncoding = "Latin1", check.names = F)
我正在添加check.names = F
以避免在標題中用點替換空格。
通常是編碼問題。 您可以嘗試更改編碼或刪除有問題的字符(只需使用您喜歡的編輯器並替換所有實例)。 在某些情況下,R 會吐出字符位置,例如:
無效的多字節字符串 1847
這應該會讓你的生活更輕松。 另請注意,您可能需要多次重復此過程(刪除所有有問題的字符或嘗試多種編碼)。
將文件格式更改為 - CSV UTF-8。 它對我有用。
不確定這是否有幫助,但我遇到了類似的問題,並發現這是因為我的“csv”文件有一個 .csv 后綴,但實際上是一個 .xls 文件!
不確定這是否有幫助,只是有一個類似的問題,我通過從我嘗試導入的 csv 中刪除“來解決這個問題。數據庫的第一行將列名寫為“colname”、“colname2”、“etc”和我刪除了所有 " 然后在 R 中讀取了 csv 就好了。
我通過刪除文字中的任何圖形符號(即重音符號)解決了這個問題。 我的標題是用西班牙語寫的,里面有一些重音符號。 我用簡單的單詞(México=Mexico)代替,問題就解決了。
我知道這是一個舊帖子,但只是想對非英語本地人說,如果您使用“,”作為十進制分隔符,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.