各个Excel工作表的data.frame列表-R [英] List of data.frame's to individual excel worksheets - R
问题描述
我有一个data.frame列表,我想将它们输出到excel中自己的工作表中.我可以轻松地将单个数据框保存到它自己的excel文件中,但是我不确定如何在同一excel文件中将多个数据框保存到他们自己的工作表中.
I have a list of data.frame's that I would like to output to their own worksheets in excel. I can easily save a single data frame to it's own excel file but I'm not sure how to save multiple data frames to the their own worksheet within the same excel file.
library(xlsx)
write.xlsx(sortedTable[1], "c:/mydata.xlsx")
推荐答案
为每个列表元素指定工作表名称.
Specify sheet name for each list element.
library(xlsx)
file <- paste("usarrests.xlsx", sep = "")
write.xlsx(USArrests, file, sheetName = "Sheet1")
write.xlsx(USArrests, file, sheetName = "Sheet2", append = TRUE)
@flodel建议的第二种方法是使用addDataFrame
.这或多或少是该功能帮助页面中的一个示例.
Second approach as suggested by @flodel, would be to use addDataFrame
. This is more or less an example from the help page of the said function.
file <- paste("usarrests.xlsx", sep="")
wb <- createWorkbook()
sheet1 <- createSheet(wb, sheetName = "Sheet1")
sheet2 <- createSheet(wb, sheetName = "Sheet2")
addDataFrame(USArrests, sheet = sheet1)
addDataFrame(USArrests * 2, sheet = sheet2)
saveWorkbook(wb, file = file)
假设您有一个data.frames列表和一个工作表名称列表,则可以成对使用它们.
Assuming you have a list of data.frames and a list of sheet names, you can use them pair-wise.
wb <- createWorkbook()
datas <- list(USArrests, USArrests * 2)
sheetnames <- paste0("Sheet", seq_along(datas)) # or names(datas) if provided
sheets <- lapply(sheetnames, createSheet, wb = wb)
void <- Map(addDataFrame, datas, sheets)
saveWorkbook(wb, file = file)
这篇关于各个Excel工作表的data.frame列表-R的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!