我在用R读取csv文件时遇到一些问题
x=read.csv("LorenzoFerrone.csv",header=T)
Error in make.names(col.names, unique = TRUE) :
invalid multibyte string at '<ff><fe>N'
Run Code Online (Sandbox Code Playgroud)
我可以使用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
Run Code Online (Sandbox Code Playgroud)
在读取 csv 时,您始终可以使用“Latin1”编码:
x = read.csv("LorenzoFerrone.csv", fileEncoding = "Latin1", check.names = F)
Run Code Online (Sandbox Code Playgroud)
我添加check.names = F以避免在标题中用点替换空格。
由于上述方法并不总是有效,另一种选择是使用data.table库和Latin-1编码:
library(data.table)
x = fred("LorenzoFerrone.csv", encoding = "Latin-1")
Run Code Online (Sandbox Code Playgroud)
小智 6
这将按原样读取列名称,并且不会返回任何错误:
x = read.csv(check.names = F)
Run Code Online (Sandbox Code Playgroud)
要删除/替换列名中的麻烦字符,请使用以下命令:
iconv(names(x), to = "ASCII", sub = "")
Run Code Online (Sandbox Code Playgroud)