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

在R中使用openxlsx合并多标签Excel数据框并添加来源日期列

解决多工作表数据框合并及添加来源日期列的方法

首先建议你把所有工作表的数据统一存到一个列表里,比直接散在全局环境里更易处理:

library(openxlsx)
# 加载目标Excel工作簿
wb <- loadWorkbook("你的Excel文件路径.xlsx")
# 获取所有工作表的日期名称
sheet_dates <- getSheetNames("你的Excel文件路径.xlsx")
# 批量读取所有工作表到列表,每个元素对应一个数据框
df_list <- lapply(sheet_dates, function(date) read.xlsx(wb, sheet = date))
# 给列表元素命名为对应的日期,方便后续关联来源
names(df_list) <- sheet_dates

同时解决两个问题:合并数据集 + 添加来源日期列

推荐两种实用方法,按需选择即可:

方法一:用dplyr包(代码简洁,适配变量数差异)

library(dplyr)
# bind_rows自动合并所有数据框,.id参数生成记录来源的列,值为对应工作表的日期名称
combined_data <- bind_rows(df_list, .id = "source_date")

如果不同工作表的变量数(6-9个)不一致,bind_rows会自动给缺失的变量填充NA,完美适配你的场景。

方法二:用Base R实现(无需额外安装包)

# 先给每个数据框添加source_date列,值为对应的原始工作表日期
df_list_with_date <- lapply(names(df_list), function(date) {
  temp_df <- df_list[[date]]
  temp_df$source_date <- date
  temp_df
})
# 合并所有带日期列的数据框
combined_data <- do.call(rbind, df_list_with_date)

处理完成后,combined_data就是合并好的单个数据集,其中source_date列会记录每条数据对应的原始工作表日期名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 02:14:54