无法在不覆盖的情况下将 R 数据框附加到现有 Excel 中

Posted

技术标签:

【中文标题】无法在不覆盖的情况下将 R 数据框附加到现有 Excel 中【英文标题】:Unable to Append R data frame into existing Excel without overwriting 【发布时间】:2018-04-06 21:03:10 【问题描述】:

我是一名初学者,正在尝试将 RStudio 中的 R 数据框简单地插入现有的 Excel 工作表中,而不会丢失该工作表中的先前数据或覆盖整个文件,例如。在第 16 行第 1 列的工作表“August”中的文件“Reporting.xlsx”中插入新数据框(15 行,4 列),这样之前的信息就不会丢失?

谢谢!

【问题讨论】:

【参考方案1】:

类似这样的:

library(openxlsx)
library(dplyr)

# Get existing data and append new data
dat = readWorkbook("Reporting.xlsx", sheet="August")
dat = bind_rows(dat, new_data_frame)

# Write updated data frame to existing worksheet
wb = loadWorkbook("Reporting.xlsx")
writeData(wb, "August", dat)

# Save file (with new name for testing purposes)
saveWorkbook(wb, "Reporting_test.xlsx")

# To overwrite the pre-existing data file, you can do the following (commented out for safety)
#saveWorkbook(wb, "Reporting.xlsx", overwrite=TRUE)

【讨论】:

非常感谢,它就像你描述的那样工作!希望我能给你买个啤酒伴侣,祝你有美好的一天!【参考方案2】:

我的建议是将 Excel 文件导入 R Studio,通过合并 R 数据框和 Excel 数据框创建一个新的数据框,然后导出文件。

【讨论】:

同意。这似乎是最简洁的方法。使用 write.xlsx 或类似的东西。

以上是关于无法在不覆盖的情况下将 R 数据框附加到现有 Excel 中的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在不使用 XDocument 的情况下将新的 xml 数据附加到 xml 文件中的现有 xml?

如何在不覆盖数据源参数的情况下将附加参数传递给剑道模板

有没有办法在不覆盖现有类名的情况下将类名添加到 blazor 组件?

如何在不跟踪索引的情况下将元素附加到列表?

如何在不跟踪索引的情况下将元素附加到列表中?

SSAS - 是不是可以在不重新部署整个多维数据集的情况下将属性添加到现有维度