R语言中写入Excel的不同sheet表格

灌水系列

这是一个朋友提的问题,R语言中有多个数据框,本来是一个数据框写入一个Excel表。但是现在想要写入到一个Excel表中,毕竟Excel才是最通用的软件,把每个数据框写入Excel不同的sheet表。

问题解决

代码演示
代码解释:

  • 首先建立两个数据框aabb
  • 然后载入openxlsx软件包,主要是用于导出Excel格式
  • 重点是建立一个list,每个元素就是一个sheet,名称就是sheet的名称
  • 然后使用write.xlsx函数输出list对象即可

aa<-data.frame(id = 1:5,y = rnorm(5))
bb<-data.frame(id = 1:7,y = rnorm(7))
aa
bb

# install.packages("openxlsx") # 如果没有openxlsx包,运行该命令
library(openxlsx)
sheets = list("我是aa" = aa,"我是bb" = bb)
write.xlsx(sheets,"d:/我是输出结果.xlsx")

结果展示:
可以看到:

  • 中文名的Excel表
  • 两个sheet表
  • sheet表的名称为“我是aa”,“我是bb”

问题举一反三

代码延申
如果是有多个sheet表,想要批量读取,批量输出到Excel表中,可以使用for循环操作:

代码解释:

  • 批量生产list
  • 读取list的元素个数
  • 重命名sheet表名称
  • 输出到excel表中
list1 = list()
for(i in 1:10){
  list1[[i]] = data.frame(ID=1:10,y=rnorm(10))
}
n = length(list1)
n

names(list1) = paste0("我是","sheet",1:n)
list1
write.xlsx(list1,"d:/我是批量sheet表.xlsx")

结果视图:

创造更多问题

如果你有一个Excel表,有几十个sheet表,这些表结构都相似,如果批量读入到R中,然后批量操作,最后再批量导出?

熟悉的味道……

朋友圈中各种python培训的软文,都在讲如何批量的处理,R语言是这样实现的,我师兄Excel很溜,自己编写了一套宏,从来看不上R语言,说我是”人为增加学习成本,Excel不香么???“

所以自问自答的写作风格是如何练成的?

写公众号时,就能发现日子是一成不变的,没有话题,没有动力,如何给自己找事情,需要自言自语。往高了说是”自省吾身“,往低了说是”江郎才尽“。所以写一些东西,给自己出出题,然后自己解答,然后自己翻车……

下节预告:

  • R 语言中批量读入Excel的不同sheet表格
  • Python中批量读入Excel的不同sheet表格
  • Python中批量写入Excel的不同sheet表格

不加上”批量“二字,体现不出编程语言的气质!

上面的三个题目,可以写三篇博文

灌水哪家强,飞哥来上场,田里虫儿飘,地面变汪洋……

  • 10
    点赞
  • 45
    收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:博客之星2021 设计师:Hiro_C 返回首页
评论 1

打赏作者

育种数据分析之放飞自我

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值