You need to enable JavaScript to run this app. R语言合并多份同结构xlsx文件时保留原有列名的问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

R语言合并多份同结构xlsx文件时保留原有列名的问题咨询

R多Excel文件按列合并解决方案

可直接运行的修改后代码

library(purrr)
library(writexl)
library(readxl)

# 匹配当前目录下所有xlsx格式文件
files <- list.files(pattern = "*.xlsx")

# 读取第一个文件作为基准表,保留公共索引列与对应数值列
base_df <- read_excel(files[1])
# 遍历剩余所有文件,仅提取每个文件的第二列用于追加
append_cols <- files[-1] %>% 
  map(~ {
    tmp <- read_excel(.x)
    tmp[, 2, drop = FALSE]
  })

# 合并基准表与所有追加列得到最终结果
mainDF <- cbind(base_df, append_cols)

# 若合并结果中存在多余的`file`列,取消注释下行代码执行删除
# mainDF <- mainDF[, !names(mainDF) %in% "file"]

# 导出合并后的文件
write_xlsx(mainDF, "merge.xlsx")

调整说明

  • 若你之前使用openxlsx包的read.xlsx函数读取文件,将代码中所有read_excel替换为read.xlsx即可,其余逻辑无需修改
  • 调整了全量按列合并的逻辑,先以第一个文件为基准保留所有文件共有的第一列,后续仅追加每个文件的第二列,避免重复列冲突
  • 读取文件时默认保留原文件表头作为合并后文件的列名,解决首行被识别为列名导致数据丢失的问题

内容的提问来源于stack exchange,提问作者maryam。

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 15:09:02