我惊讶地发现,没有简单的方法可以导出多个数据.框架到Excel文件的多个工作表?我试了xlsx个包裹,似乎只能写一张纸(覆盖旧纸);我也试过WriteXLS软件包,但它总是给我错误...

我的代码 struct 是这样的:根据设计,对于每次迭代,输出数据框(可诱惑)和sheetName(sn)都会被更新并导出到一个选项卡中.

for (i in 2 : ncol(code)){ 
        ...
        tempTable <- ...
        sn <- ...
        WriteXLS("tempTable", ExcelFileName = "C:/R_code/../file.xlsx",
              SheetNames = sn);
}

我可以导出几个cvs文件,但必须有一种简单的方法在Excel中实现,对吗?

推荐答案

你可以用xlsx个包裹写多张纸.您只需要 for each 数据帧使用不同的sheetName,并且需要添加append=TRUE:

library(xlsx)
write.xlsx(dataframe1, file="filename.xlsx", sheetName="sheet1", row.names=FALSE)
write.xlsx(dataframe2, file="filename.xlsx", sheetName="sheet2", append=TRUE, row.names=FALSE)

另一个选项是,在R/xlsx代码中执行所有操作,然后在最后保存工作簿,这个选项可以让您更好地控制格式和数据框的放置位置.例如:

wb = createWorkbook()

sheet = createSheet(wb, "Sheet 1")

addDataFrame(dataframe1, sheet=sheet, startColumn=1, row.names=FALSE)
addDataFrame(dataframe2, sheet=sheet, startColumn=10, row.names=FALSE)

sheet = createSheet(wb, "Sheet 2")

addDataFrame(dataframe3, sheet=sheet, startColumn=1, row.names=FALSE)

saveWorkbook(wb, "My_File.xlsx")

如果您觉得它有用,下面是一些有趣的帮助函数,可以更轻松地使用xlsx向Electron 表格添加格式、元数据和其他功能:

R相关问答推荐

IQR()和stats之间四分位距计算的差异::分位数()在R和' ggpubr '

有没有方法将琴弦完全捕捉到R中的多边形?

按块将载体转换为矩阵-reshape

将模拟变量乘以多个观测结果中的模拟变量

列出用m n个值替换来绘制n个数字的所有方法(i.o.w.:R中大小为n的集合的所有划分为m个不同子集)

在位置周围设定一个半径并识别该半径内的其他位置

使用tidyverse / Mutate的存款账户余额

保存包含循环和ifelse的函数的输出

判断字符串中数字的连续性

次级y轴R gggplot2

在不安装软件包的情况下测试更新

在R中为马赛克图中的每个字段着色

从外部文件读取多个值作为字符向量

为了网络分析目的,将数据框转换为长格式列联表

如何使用For-R循环在向量中找到一系列数字

变长向量的矢量化和

防止正则表达式覆盖以前的语句

避免在图例中显示VLINS组

在r中整理图例和堆叠图的问题

构建一个6/49彩票模拟系统