R语言批量导入Excel文件并按表分类汇总

需求:有n个Excel文件,每个文件包含表的数量不等,但全部表都有表名,并是根据同一的规范命名,比如与悟空有关的数据,存放在《悟空》表中,现在需要按表名对所有数据分类汇总

library(readxl)
library(data.table)
library(tidyverse)
library(writexl)
library(tidyxl)
setwd("d:/cloud")
# 将目录下所有文件名存入变量
(fl <- list.files())
# 选取需要的文件名
(bdl <- fl[!str_detect(fl,"档案|综合分析|csv")])
# 最终结果存放的变量result中
result <- list()
## 循环一:将excel读入内存
for(j in 1:length(bdl)){
  bdt <- list()
  for (sheet in excel_sheets(bdl[j])){
    bdt[[sheet]] <- read_excel(bdl[j],sheet = sheet,col_types = 'text',col_names = FALSE)
  }
## 按表名分类保存到结果集,else语句是关键
  for(nm in names(bdt)){
    if (nm %in% names(result)){
      result[[nm]] <- rbind(result[[nm]],bdt[[nm]])
    }else{
      result[[nm]] <- bdt[[nm]]
    }
  }
}
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值