关于读取包含UTF-8字符的文件

时间:2013-07-16 17:20:16

标签: r unicode

我有一个csv文件,包括用UTF-8保存的中文字符。

  

项目价格     电视5000

第一行是标题,第二行是数据。换句话说,它是一个接一个的向量。

我读了这个文件如下:

amatrix<-read.table("test.csv",encoding="UTF-8",sep=",",header=T,row.names=NULL,stringsAsFactors=FALSE)

但是,输出包括标题的未知标记,即X.U.FEFF

enter image description here

1 个答案:

答案 0 :(得分:1)

这是有时在Unicode文本文件中找到的byte order mark。我猜你是在Windows上,因为那是唯一一个文件可以最终使用它们的流行操作系统。

您可以使用readLines读取文件并删除第一行的前两个字符。

txt <- readLines("test.csv", encoding="UTF-8")
txt[1] <- substr(txt[1], 3, nchar(txt[1]))
amatrix <- read.csv(text=txt, ...)