(R)如何将列表中的每个项目附加到以列表项目名称开头的CSV?

时间:2017-10-06 18:38:17

标签: r list lapply

我有一个列表,其中包含一些自动生成的一些数据,这些数据是我从TripAdvisor上删除的。列表中每个项目的名称是酒店的名称。因此,示例列表项看起来像:

  

$“代顿南富兰克林智选假日套房酒店”

     

[1]“代顿南富兰克林智选假日套房酒店位于   在851 Commerce Center Dr,......“

然后我有一个lapply函数,它从列表中获取每个写入并将其附加到CSV文件。

lapply(writeups, function(x) write.table( data.frame(x), 'writeups.csv', append= T, sep=',', row.names = F ))

问题在于,当它将每个列表项追加到CSV时,它会在写入上方的行上打印出“x”。

  

x

     

writeup1

     

x

     

writeup2

     

X

我无法找到将x更改为列表项名称的方法。有人有什么想法吗?谢谢。

2 个答案:

答案 0 :(得分:0)

For循环看起来并不好看,但我认为在这种情况下它可以帮到你。

for(i in 1:length(your.list)){
  d<-paste0('\n\n',names(your.list)[i],'\n\n')
  capture.output(cat(d),file='writeups.csv',append=T)
  write.table(your.list[i],file='writeups.csv',append= T, sep=',', row.names = F)
}

循环中的第一个命令行在列表中获取item [i]的名称,并将其存储在开头。

我希望它可以帮到你,

问候。

答案 1 :(得分:0)

col.names = F

中设置write.table()
lapply(writeups, function(x) write.table( data.frame(x), 'writeups.csv', append= T, sep=',', row.names = F, col.names = F ))