【问题标题】:Writing data from for loop to one excel sheet将数据从for循环写入一张excel表
【发布时间】:2020-09-27 04:14:30
【问题描述】:

我正在尝试以数据在一张纸中的方式将数据从我的 for 循环写入 excel 文件。我一直在使用 xlsx 库,但由于某种原因添加 APPEND = TRUE 并不能解决问题。我一直在尝试做的一个例子:

write.xlsx("Info", "results.xlsx", sheetName="Info", col.names=TRUE, row.names=TRUE, append=FALSE)

for (i in 1:10) {
  write.xlsx(i, "results.xlsx", sheetName="datasheet",col.names=TRUE, row.names=TRUE, append=TRUE)
}

这仅适用于编写第一个循环结果,之后我收到一个错误,告诉我已经有一个同名的工作表,它不会将结果附加到工作表。我应该如何处理?

【问题讨论】:

  • 你试过写不同的 sheetName 吗?
  • @Florian 我的意思是我希望结果显示在一张纸上。使用多张工作表很容易,但实际上我的代码会循环大约 10 000 次,然后将结果推送到 excel 文件中,之后我需要能够轻松查看结果。
  • 需要把结果写10次才能excel吗?为什么不将其存储在列表或数据帧中,最后将其合并为一个数据帧并写入使用write.xlsx
  • @RonakShah 其余代码工作的最佳方式是在每个循环之后附加结果 - 当然,如果没有办法这样做,我将不得不尝试这个。

标签: r r-xlsx


【解决方案1】:

你有没有试过保存你的输出然后一口气写出来(不是很快!)?:

i0 <- NULL
    for (i in 1:10) {
    i0 <- rbind(i0,i)
    }
    write.xlsx(i0, "results.xlsx", sheetName="datasheet",col.names=TRUE, row.names=TRUE)

另见: Appending r output in a single sheet of xlsx file

【讨论】:

    猜你喜欢
    • 2020-04-12
    • 1970-01-01
    • 2021-11-14
    • 2019-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多