如何将结果导出到R中的excel的不同选项卡中

时间:2016-03-09 16:26:37

标签: r excel export-to-excel export-to-csv

我有多个数据框要导出到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文件的多个选项卡中?

1 个答案:

答案 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了解常见解决方案。