制表符分隔的.csv文件到R中

时间:2017-09-11 13:18:58

标签: r read.table

我有.csv文件标签分隔。在运行代码时

data <- read.table("xxx.csv",sep = "\t", dec=".", header = TRUE, 
                   encoding="UTF-8", stringsAsFactors = FALSE)

R将其作为单个列读取而不分割(应该使42列)。有任何想法吗? Link to file

1 个答案:

答案 0 :(得分:5)

出现问题是因为每一行都在引号之间(整行)。

有两种方法可以读取文件。

  • 保留所有引号。

    使用参数quote = ""禁用引号。

    read.table("xxx.csv", sep = "\t", dec = ".", header = TRUE,
               encoding = "UTF-8", stringsAsFactors = FALSE, quote = "") 
    
  • 在读取文件之前删除引号。

    tmp <- gsub('^\"|\"$', '', readLines("xxx.csv"))
    read.table(text = tmp, sep = "\t", dec = ".", header = TRUE,
               encoding = "UTF-8", stringsAsFactors = FALSE)