gpt4 book ai didi

r - openxlsx::write.xlsx 覆盖现有工作表而不是追加

转载 作者:行者123 更新时间:2023-12-04 16:01:42 27 4
gpt4 key购买 nike

openxlsx::write.xlsx功能是覆盖电子表格而不是添加另一个选项卡。

我尝试遵循 Stackoverflow 的一些方向,但没有成功。

dt.escrita <- format(Sys.time(), '%Y%m%d%H%M%S')

write.xlsx( tbl.messages
,file = paste('.\\2_Datasets\\messages_',dt.escrita,'.xlsx')
,sheetName = format(Sys.time(), '%d-%m-%y')
,append = FALSE)

write.xlsx( tbl.dic.dados
,file = paste('.\\2_Datasets\\messages_',dt.escrita,'.xlsx')
,sheetName = 'Dicionario_Dados'
,append = TRUE)

包含两个选项卡的电子表格:30-07-19 和 Dicionario_Dados。

最佳答案

不确定我是否理解正确,您想创建一个带有两个选项卡/工作表的 xlsx 文件吗?
然后我通常首先创建工作表,然后单独写入每个工作表(这与通过附加将数据添加到同一张工作表不同)。

library("openxlsx")
mtcars1 <- mtcars %>% filter(cyl == 4)
mtcars2 <- mtcars %>% filter(cyl == 6)

wb <- createWorkbook()
addWorksheet(wb, "mtcars1")
addWorksheet(wb, "mtcars2")

writeData(wb, "mtcars1", mtcars1, startRow = 1, startCol = 1)
writeData(wb, "mtcars2", mtcars2, startRow = 1, startCol = 1)

saveWorkbook(wb, file = "excel_test.xlsx", overwrite = TRUE)
更新:
只是想知道为什么我从来没有使用过 append参数在 openxlsx (这是我读/写excel的标准包)。这三个函数似乎都没有这样的论点 write.xlsx() , writeData() , writeDataTable() .至少它不在文档中。
该函数在使用未知参数调用时似乎不会引发错误,例如下面的调用具有不存在的 somearg ,但不返回错误。
write.xlsx(mtcars2,
file = "excel_test.xlsx",
sheetName = "mtcars1",
somearg = TRUE)
更新 2
要将数据附加到现有表中,您可以读取现有工作表的行数,添加 +1 并将此值用作 startRow:
wb2 <- loadWorkbook(file = "excel_test.xlsx")

writeData(wb2,
"mtcars1",
mtcars2,
colNames = FALSE,
startRow = nrow(readWorkbook("excel_test.xlsx"))+1)
#Fixed the call to nrow, instead of ncol.

saveWorkbook(wb2, file = "excel_test.xlsx", overwrite = TRUE)

关于r - openxlsx::write.xlsx 覆盖现有工作表而不是追加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57278418/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com