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