【问题标题】:write.table does not append information from extracted different csv fileswrite.table 不会从提取的不同 csv 文件中附加信息
【发布时间】:2019-07-13 02:11:05
【问题描述】:

我想从设置的 csv 文件中提取一些值并将它们附加到一个新的 csv 文件中。 当我使用 write.table(append=T) 时,信息不会被附加而是被覆盖。

for(Tsd in c(0.001))
{
  for(Fsd in c(2,5,10,15,20,30,60))
  {
    nameoffile <- paste("summary_out_T_",Tsd,"_F_",Fsd,"_2.csv",sep="")
    durdata <- read.csv(file = nameoffile, header=TRUE, sep=",")

    name2 <- paste("duration.csv", sep = "")
    file.create(name2)

    a=c("Fsd", "onSD")
    write.table(as.matrix(t(a)), sep = ",", name2, col.names = F, row.names = F, append = T)

    aa = c(Fsd, durdata[[16,14]])
    write.table(as.matrix(t(aa)), sep = ",", name2, col.names = F, row.names = F, append = T)
  }
}

输出文件“duration.csv” 应该有 8 行

> Fsd onSD 
> 2   a
> 5   b
> 10  c
> 15  d
> 20  e    
> 30  f
> 60  g

它只有

> Fsd onSD
> 60  g

我有什么遗漏吗?不应该 append=T 处理这个吗?

【问题讨论】:

  • 你试过readr::write_csv
  • 我做了,也没用。

标签: r append write.table


【解决方案1】:

问题在这里:file.create(name2):您正在再次创建文件并覆盖。 试试

name2 <- paste("duration.csv", sep = "")
file.create(name2)


for(Tsd in c(0.001))
{
  for(Fsd in c(2,5,10,15,20,30,60))
  {
    nameoffile <- paste("summary_out_T_",Tsd,"_F_",Fsd,"_2.csv",sep="")
    durdata <- read.csv(file = nameoffile, header=TRUE, sep=",")

    a=c("Fsd", "onSD")
    write.table(as.matrix(t(a)), sep = ",", name2, col.names = F, row.names = F, append = T)

    aa = c(Fsd, durdata[[16,14]])
    write.table(as.matrix(t(aa)), sep = ",", name2, col.names = F, row.names = F, append = T)
  }
}

【讨论】:

    猜你喜欢
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 2016-11-19
    相关资源
    最近更新 更多