簡體   English   中英

在 R 中讀取 csv 文件時出錯

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM