You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R语言中按名称模式导入含指定特征工作表的多份XLSX文件求助

解决方案

步骤说明

  • 精准筛选目标文件:只保留以Opca开头的XLSX文件
  • 对每个文件,先提取所有工作表名称,筛选出带Dados前缀的工作表
  • 逐个读取符合条件的工作表,最后合并所有数据

完整代码

library(readxl)
library(dplyr)

# 设置工作目录
setwd("H:/Bases/Teste")

# 筛选以Opca开头的XLSX文件
file.list <- list.files(pattern = "^Opca.*\\.xlsx$", ignore.case = TRUE)

# 定义读取单个文件的函数
read_target_sheets <- function(file_path) {
  # 获取当前文件的所有工作表名称
  sheet_names <- excel_sheets(file_path)
  # 筛选带Dados前缀的工作表
  target_sheets <- grep("^Dados", sheet_names, value = TRUE)
  
  # 读取所有目标工作表并合并
  lapply(target_sheets, function(sheet) {
    read_excel(file_path, sheet = sheet)
  }) %>% bind_rows()
}

# 批量处理所有文件并合并最终数据
df <- lapply(file.list, read_target_sheets) %>% bind_rows()

代码解释

  • list.files(pattern = "^Opca.*\\.xlsx$"):用正则表达式精准匹配以Opca开头、以.xlsx结尾的文件,ignore.case=TRUE避免大小写差异导致的遗漏
  • excel_sheets(file_path):获取当前文件的所有工作表名称
  • grep("^Dados", sheet_names, value = TRUE):筛选出以Dados开头的工作表名称
  • 嵌套的lapply和bind_rows:先处理单个文件内的所有目标工作表并合并,再将所有文件的结果合并为最终数据集

内容的提问来源于stack exchange,提问作者Igor Mendonça

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 04:48:16