【问题标题】:Reading csv file with long header line containing special characters读取带有包含特殊字符的长标题行的 csv 文件
【发布时间】:2018-05-02 06:08:25
【问题描述】:

我试图阅读我使用命令tri2016 <- fread("TRI_2016_US.csv")Here 下载的有毒释放清单 (TRI) csv 文件,但它警告我丢弃第 1 行的项目太少或太多而不能列名称或数据。

但是,tri2016_1 <- read.csv("TRI_2016_US.csv") 读取它时没有给出任何错误和正确的列名!使用tri2016_1 <- fread("TRI_2016_US.csv", header=TRUE) 仍然会产生警告并且仍然忽略标题。

TRI 文件有 108 列,标题行包含特殊字符。列列表在Pdf file(第 7 页的附录 A)中列出。

有没有办法让fread 读取这些 csv 文件以及标题? 还是我应该坚持使用tri2016 <- as.data.table(read.csv("TRI_2016_US.csv")) 而不必担心?

【问题讨论】:

    标签: r csv data.table


    【解决方案1】:

    标题行似乎有一个尾随逗号(比其他行多一个) - 使用 TRI_2016_US.csv 测试 - 111 列。

    如果你删除它,问题应该得到解决。

    【讨论】:

    • 也许 data.table 作者可以在他们的标头测试代码中检查这一点并生成一个可能的警告来检查?谢谢@Danny_ds。
    【解决方案2】:

    试试阅读器包。

    library(readr)
    tri2016_1 <- readr::read_csv("TRI_2016_US.csv")
    

    你会得到一个警告说

    Warning messages:
    1: Missing column names filled in: 'X112' [112] 
    2: In rbind(names(probs), probs_f) :
      number of columns of result is not a multiple of vector length (arg 1)
    

    【讨论】:

      猜你喜欢
      • 2016-11-10
      • 2010-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-13
      • 1970-01-01
      相关资源
      最近更新 更多