当工作中,会遇到下面的问题:最后的结果是多个dataframe

结果需要放在不同的excel中

而你现在只会将单个dataframe写入单个csv

那么,你需要一个优雅的完成方式,一次将多个dataframe写入一个excel,不要多次写入csv,然后各种复制粘贴了!

1 导入包与要写入的dataframe

library(openxlsx) # 导入包

sale_model 为第一个要写入的dataframe

sale_channel2 为第二个要写入的dataframe

2 目的是将上面两个dataframe写入 一个excel

wb

addWorksheet(wb, "Sheet 1") # 创建 名字为Sheet 1的sheet

addWorksheet(wb, "Sheet 2") # 创建 名字为Sheet 2的sheet

在R 中虚拟的excel已经完成,下一步将dataframe分别写入 对应的sheet

3 将两个dataframe 分别写入对应的sheet

writeData(wb, "Sheet 1", sale_model) # sale_model 对应heet 1

writeData(wb, "Sheet 2", sale_channel2) # sale_channel2 为要写入的dataframe,

4 将R中虚拟的工作簿写入 真正的excel,当然是带着多个sheet

saveWorkbook(wb, "/Users/jinzhao/Documents/xiaomi/反作弊/app行为/wb.xlsx", overwrite = TRUE)

如果是那个文件,有更快的批处理方案:

library(purrr) # 批量处理包 其中有 map 与 reduce 函数

wb

wbt = list(wb,wb,wb,wb) # 为pmap 做准备

sheet = list('Sheet 1','Sheet 2','Sheet 3','Sheet 4') # 为pmap 做准备

d = list(sale_model1,ssale_model2,sale_model3,sale_model4) # 为pmap 做准备

pmap(list(wbt,sheet),addWorksheet) # 批量增加sheet

pmap(list(wbt,sheet,d),writeData) # 批量dataframe写入 sheet

saveWorkbook(wb, "/Users/jinzhao/Documents/xiaomi/反作弊/app行为/wb3.xlsx", overwrite = TRUE)

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐