将数据框添加到没有 xlsx 包的工作表
Posted
技术标签:
【中文标题】将数据框添加到没有 xlsx 包的工作表【英文标题】:Adding a dataframe to a sheet without xlsx package 【发布时间】:2021-07-22 16:20:16 【问题描述】:我目前正在使用 xlsx 包来创建和修改 Excel 文件,但我需要摆脱对 Java 的依赖。我尝试将 xlsx 包换成 openxlsx 包,但我找不到任何简单的方法来替换 addDataFrame 函数。我的代码如下所示:
wb = createWorkbook()
sheet = createSheet(wb, "Sheet Name")
addDataFrame(data.frame(MyFile, check.names=FALSE), sheet=sheet, startColumn=1, row.names=FALSE)
saveWorkbook(wb, "MyWB.xlsx")
openxlsx 中是否有任何函数可用于向工作表添加数据框?或者在任何其他不依赖 Java 的库中?
【问题讨论】:
【参考方案1】:我们使用writeData
将数据框添加到工作表中。例如
# Create a workbook
wb <- openxlsx::createWorkbook()
# Create a worksheet
openxlsx::addWorksheet(wb, "iris_sheet")
# Write data frame to the worksheet
openxlsx::writeData(wb, "iris_sheet", iris)
# Create another worksheet
openxlsx::addWorksheet(wb, "mtcars_sheet")
# Write data frame to this worksheet
openxlsx::writeData(wb, "mtcars_sheet", mtcars)
# Save the whole workbook
openxlsx::saveWorkbook(wb, "./file.xlsx")
【讨论】:
以上是关于将数据框添加到没有 xlsx 包的工作表的主要内容,如果未能解决你的问题,请参考以下文章
python将多个excel中的所有工作表附加到pandas数据框中的有效方法
当从r输出到excel工作表(使用xlsx包)时,数据框列标题中的问号为什么显示为句点?
Pandas:使用多张工作表导入 xlsx,将列添加到每个 df 及其所属工作表的名称,将具有相同列数的 df 连接起来