【问题标题】:Error while reading csv file in R在 R 中读取 csv 文件时出错
【发布时间】:2013-08-28 23:32:10
【问题描述】:

我在使用 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

【问题讨论】:

  • 我以前从未遇到过此错误,但我可以从错误消息中了解到,您的文件中可能有 2 列同名。
  • 有解决办法here
  • 嘿,你是对的,这似乎工作 fileEncoding = "UCS-2LE"。为了确定,我会稍等片刻才能结束这个问题。
  • 您可以发布答案而不是关闭问题...
  • 你的“等级问题”是什么?

标签: r csv


【解决方案1】:

在读取 csv 时,您始终可以使用“Latin1”编码:

 x = read.csv("LorenzoFerrone.csv", fileEncoding = "Latin1", check.names = F)

我正在添加check.names = F 以避免在标题中用点替换空格。

【讨论】:

    【解决方案2】:

    将文件格式更改为 - CSV UTF-8。它对我有用。

    【讨论】:

    • 这个答案之前已经给出了。
    【解决方案3】:

    我发现这个问题是由文件代码引起的,我通过用 Windows note 打开它,用 UTF-8 保存,然后用 Excel 重新打开(一开始是乱码),然后用 UTF-8 重新保存,解决了这个问题,然后就成功了!

    【讨论】:

      【解决方案4】:

      这将按原样读取列名并且不会返回任何错误:

      x = read.csv(check.names = F)
      

      要删除/替换列名中的麻烦字符,请使用:

      iconv(names(x), to = "ASCII", sub = "")
      

      【讨论】:

        【解决方案5】:

        我知道这是一篇旧帖子,但只是想对非英语母语人士说,如果您使用“,”作为小数分隔符,

        【讨论】:

          【解决方案6】:

          我通过删除文字中的任何图形符号(即重音符号)解决了这个问题。我的标题是用西班牙语写的,里面有一些重音符号。我用简单的词(México=Mexico)替换,问题就解决了。

          【讨论】:

            【解决方案7】:

            不确定这是否有帮助,只是有一个类似的问题,我通过从我试图导入的 csv 中删除 " 解决了这个问题。数据库的第一行的列名写为 "colname","colname2","等等”,然后我删除了所有的“,然后在 R 中读取了 csv。

            【讨论】:

              【解决方案8】:

              您需要在sep 参数中指定正确的分隔符。

              【讨论】:

                【解决方案9】:

                通常是编码问题。您可以尝试更改编码或删除有问题的字符(只需使用您喜欢的编辑器并替换所有实例)。在某些情况下 R 会吐出 char 位置,例如:

                无效的多字节字符串 1847

                这应该会让您的生活更轻松。 另请注意,您可能需要多次重复此过程(删除所有违规字符或尝试多种编码)。

                【讨论】:

                  【解决方案10】:

                  原因是无效的编码。我已经解决了用 e 替换所有“è”

                  【讨论】:

                  • 我不确定这是否能回答问题。
                  【解决方案11】:

                  不确定这是否有帮助,但我遇到了类似的问题并发现这是因为我的“csv”文件有一个 .csv 后缀,但实际上是一个 .xls 文件!

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2018-09-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2014-02-23
                    • 1970-01-01
                    • 1970-01-01
                    • 2016-12-18
                    相关资源
                    最近更新 更多