【问题标题】:skip last 10 rows for read in csv file (unknown number of rows)跳过最后 10 行以读取 csv 文件(行数未知)
【发布时间】:2014-04-15 10:04:34
【问题描述】:

我知道skip 可以选择read.csv()

我知道如何跳过前 10 行,如下所示:

data2<-read.csv("book4.csv", skip=10, header=T)

跳过最后 10 行怎么样?

我的方法是

data2 <- data2[1:(dim(data2)[1]-10),]

还有其他方法吗?

谢谢

【问题讨论】:

  • 使用readLines算出有多少行,然后read.csv算出结果,减去最后10行。
  • 顺便说一句,您可以节省一些击键:data2[1:(nrow(data2)-10),]

标签: r csv


【解决方案1】:

正如@Thomas 建议的那样,您可以将readLinesread.csv 结合起来,例如:

df <- read.csv(text=paste0(head(readLines("file.csv"), -10), collapse="\n"))

但我不确定这种方法是否比您的data2 &lt;- data2[1:(dim(data2)[1]-10),] 更好。如果您的最后 10 行采用不同的格式并中断read.csv,那将是更好的方法。

【讨论】:

  • 我在一个 txt 文件中遇到了类似的问题,该文件在前 300 行中包含 SQL 错误,并且它们不允许读取我使用 skip=300 的列,但它不起作用。是否可以读取此文件@sgibb 谢谢
【解决方案2】:

试试看:

data2 <- head(data2, -10)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2020-07-20
    • 1970-01-01
    • 2016-03-08
    • 2014-01-26
    • 1970-01-01
    相关资源
    最近更新 更多