2017-10-06 88 views
0

我有一個列表,其中包含一些自動生成的一些數據,我刮掉TripAdvisor。列表中每個項目的名稱是酒店的名稱。因此,一個樣品列表項將如下所示:(R)如何將列表中的每個項目追加到列表項目名稱前面的CSV中?

$「快捷假日&套房代頓南富蘭克林」

[1]「快捷假日酒店&套房代頓南富蘭克林位於 在851商務中心Dr,...「

然後我有一個lapply函數,它從列表中獲取每個寫入並將其附加到一個CSV文件中。

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

問題是,當它將每個列表項添加到CSV時,它將在writeup上方的行上打印出一個「x」。

X

writeup1

X

writeup2

X

我不能完全想出一個辦法於x改變的名稱列表項。有人有任何想法嗎?謝謝。

回答

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) 
} 

循環內的第一個命令行獲取列表中項目[i]的名稱,將其存儲在開始處。

我希望它可以幫助你,

問候。

+0

我需要做出一個改變,使其工作(它需要改變col.names到F在write.table語句,否則它仍然在寫列名列表名稱和列表項目之間),但是你的建議最終完成了工作。謝謝你的幫助! –

0

col.names = Fwrite.table()

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