我有多个数据框要导出到excel / csv文件的不同选项卡中。我将把我的15个数据框分成三组,每组五个。这样我就会有三张带有五个不同标签的excel表,而不是15张单独的excel表。
要导出到Excel:
#fake data
data_1<-data.frame(c(03,23,4,2))
data_2<-data.frame(c(0223,3,1,2))
data_3<-data.frame(c(0232,3,1,1))
data_4<-data.frame(c(21,23,5,6))
data_5<-data.frame(c(24,5,6,7))
#fake names
mydatasets<-c(data_1,data_2,data_3,data_4,data_5)
mytitles<-c("data1", "data2", "data3","data4", "data5")
#for loop to write out individual csv files
for (i in 1:5)) {
a <- mydatasets[i]
title<-mytitles[i]
myfile <- paste0(title, "_", ".csv")
write.csv(a, file = myfile)
}
如何获取上述代码将这些csv文件合并到一个csv文件或excel文件的多个选项卡中?
答案 0 :(得分:3)
CSV文件仅包含1张。另一种方法是写入XLSX。函数xlsx::write.xlsx
采用参数sheetName
:
library(xlsx)
# Use data from the question
for (i in seq_along(mydatasets)) {
write.xlsx(x = mydatasets[i],
file = "myfile.xlsx",
sheetName = mytitles[i],
append = TRUE)
}
注意append = TRUE
以避免覆盖文件而不是向其附加工作表。
xlsx
包取决于rJava
。首次使用该软件包会导致问题 - 请参阅this question了解常见解决方案。