R代码:1分钟搞定多个Excel文件批量合并!
- 2026-11-03 00:31:24
R代码:1分钟搞定多个Excel文件批量合并!最近,笔者正在整理自己的论文数据,因为涉及的Excel表太多,整理数据搞得我苦不堪言。 因此,为了节省时间,提高效率,我想到了R可以批量整合数据,彻底解放双手! 那么接下来,就跟着笔者的步伐,快速掌握这一功能!简单好用! 假设你有这样一个文件夹,里面有许多表,现在你想要把这些表中的数据整合到一个表中,便于分析。你会怎么做? 
别着急!我来教你! 【1】首先,在批量合并数据之前,你需要保证每个Excel中的列名一致! 如下图: 表1: 
表2: 
【2】打开R,加载这些包 【3】设置存放多个Excel数据表的文件夹的路径 【4】选择你要批量整合的表格 运行这段代码后,R会自动弹出窗口: 

【5】检查表格 
【6】开始批量合并 【7】查看合并后的表格 
【8】保存合并后的表格 
到此,所有的工作就大功告成啦! 后台私信 :20260207,即可获得原始数据,然后就可以按照代码练习啦!

请在微信客户端打开


library(readxl)library(dplyr)library(writexl)library(tcltk)
folder_path <- "C:/r-workspace/生态学调查表格" file_paths <- tk_choose.files(default = "*.xlsx",caption = "选择要合并的xlsx文件",multi = TRUE,filters = matrix(c("Excel文件", "*.xlsx", "所有文件", "*.*"), ncol = 2, byrow = TRUE))


# 检查文件是否被选择if (length(file_paths) == 0) {cat("❌ 没有选择文件,程序结束!\n")quit()}# 查看选择的文件数量length(file_paths)

# 用来存放所有数据all_data <- list()for (i in 1:length(file_paths)) {file_name <- basename(file_paths[i])# 读取Excel文件data <- read_excel(file_paths[i])# 添加文件名作为新列,便于查找和对应data$文件名 <- file_name# 保存到列表all_data[[file_name]] <- datacat(sprintf("%02d. %s: %d行 × %d列\n",i, file_name, nrow(data), ncol(data)))}# 合并所有数据merged_data <- bind_rows(all_data)
(nrow(merged_data)) # 总行数(ncol(merged_data)) # 总列数

# 保存到桌面output_file <- "C:/Users/Desktop/合并后的生态学数据.xlsx"write_xlsx(list("合并数据" = merged_data), output_file)# 预览前5行print(head(merged_data, 5))

请在微信客户端打开
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。