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

R语言按列名批量合并多个同结构数据框/CSV为单个表格

R 语言多同结构大型 CSV 纵向追加合并方案

适用于所有 CSV 列字段完全一致、需要按顺序逐表将行追加到前表末尾的场景,针对大文件做了效率优化,支持数十个甚至上百个文件的合并需求。


最高效方案(推荐大文件使用):data.table 实现

data.table的读写和行绑定性能远高于基础R和tidyverse,GB级文件合并速度是其他方案的5-10倍,内存占用更低。

  1. 先获取所有待合并文件的路径,按你需要的拼接顺序排序
    # 首次使用先安装:install.packages("data.table")
    library(data.table)
    
    # 替换为你的CSV存放目录
    csv_files <- list.files(
      path = "./your/csv/folder/path",
      pattern = "\\.csv$", # 匹配所有.csv后缀文件
      full.names = TRUE
    )
    
    # 按文件名排序,保证拼接顺序和你预期一致,可自定义排序规则
    csv_files <- csv_files[order(basename(csv_files))]
    
  2. 批量读取并合并
    merged_data <- rbindlist(
      lapply(csv_files, fread), # fread为高速读入函数,自动识别列类型
      use.names = TRUE, # 按列名匹配对齐,避免列顺序错乱导致数据错配
      fill = FALSE # 列完全一致时设为FALSE,遇到缺列直接报错,不会悄悄生成NA脏数据
    )
    
  3. 导出合并结果
    fwrite(merged_data, "./merged_result.csv", bom = TRUE)
    # bom = TRUE 用于避免Excel打开时中文乱码,无中文场景可删除该参数
    

超大型文件流式合并方案(总文件大小超过内存时用):无需一次性读入所有文件,逐文件读入后直接追加写入磁盘,全程内存占用仅等于单个最大文件的大小

for (idx in seq_along(csv_files)) {
  current <- fread(csv_files[idx])
  fwrite(
    x = current,
    file = "./merged_result.csv",
    append = idx != 1, # 第一个文件不追加,覆盖写
    col.names = idx == 1, # 仅第一个文件写入表头
    bom = idx == 1
  )
  rm(current)
  gc() # 释放内存
}

通用方案(习惯tidyverse语法可选)

适合中小文件合并,代码风格更简洁易读:

# 首次使用先安装:install.packages("tidyverse")
library(tidyverse)

csv_files <- list.files(
  path = "./your/csv/folder/path",
  pattern = "\\.csv$",
  full.names = TRUE
) %>% 
  .[order(basename(.))]

# 合并,加.id = "source"可以新增一列标记每行数据来自哪个文件,不需要可删除
merged_data <- map_dfr(csv_files, read_csv, .id = "source")

write_csv(merged_data, "./merged_result.csv")

前置校验建议

合并前可以先校验所有文件列结构完全一致,避免脏数据导致合并错误:

# 提取所有文件的列名做比对
col_list <- lapply(csv_files, \(path) names(fread(path, nrows = 0)))
# 列名不一致时直接终止运行并报错
stopifnot("存在文件列名不匹配,终止合并" = all(sapply(col_list, identical, col_list[[1]])))

合并顺序完全由csv_files向量的元素顺序决定,第一个路径对应文件的行在最前,最后一个路径对应文件的行在末尾,和需求的拼接逻辑完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 11:27:47