【问题标题】:Read csv with timestamp to R. Define colClass in table.read将带有时间戳的 csv 读取到 R。在 table.read 中定义 colClass
【发布时间】:2015-04-19 11:40:39
【问题描述】:

我正在尝试读取一个表(.CSV 120K x 21 宽),将对象类分配给具有以下内容的列:

read.table(file = "G1to21jan2015.csv", 
           header = TRUE, 
           colClasses = c (rep("POSICXct", 6), 
                           rep("numeric", 2), 
                           rep("POSICXct", 2),  
                           "numeric", 
                           NULL, 
                           "numeric", 
                           NULL, 
                           rep("character", 2), 
                           rep("numeric", 5))
)

我收到以下错误:

Error in read.table(file = "G1to21jan2015.csv", header = TRUE, colClasses = c(rep("POSICXct",  : 
  more columns than column names

我已经确认 csv 有 21 列,所以(我相信)我的请求。

通过删除第二个参数header = TRUE,我得到一个不同的错误:

Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  : 
  line 1 did not have 19 elements

注意 我正在使用POSICXct 以以下格式读取数据:1/5/2015 15:00:00 其中m/d/Y H:Mnumeric1559NULL 之类的数据读取到空的列中,我想跳过和character文字

【问题讨论】:

  • 为什么不先读表,再进行第二步操作呢? x <- read.table("G1to21jan2015.csv", header=TRUE, sep=";")
  • 在@MarkusRehm 建议之后,执行str(x) 以查看您实际读入的内容,然后可能会修改您的调用,直到一切正常,并且文件中的任何奇怪/隐藏字符都已修复。

标签: r csv read.table


【解决方案1】:

对于非常规的日期时间格式,可以作为字符导入(步骤 1),然后通过 strp 强制列(步骤 2)

第一步

df <- read.table(file = "data.csv",
                        header = TRUE,
                        sep = "," ,
                        dec = "." ,
                        colClasses = "character",
                        comment.char = ""
                  )

第二步

strptime(df$v1, "%m/%d/%y  %H:%M")

v1 是要强制转换的列的名称(在这种情况下,日期时间采用非常规格式 12/13/2014 15:16:17)

注意事项 使用参数 sep 是必要的,因为 read.table 默认为 sep = ""。
使用 read.csv 时,无需使用 sep 参数,默认为 ","。
使用 comment.char = "" (如果可能的话)可以提高阅读时间。
有用信息http://cran.r-project.org/doc/manuals/r-release/R-data.pdf

【讨论】:

    猜你喜欢
    • 2020-09-22
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 2016-03-11
    • 2016-02-11
    • 1970-01-01
    • 2018-05-27
    • 1970-01-01
    相关资源
    最近更新 更多