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

R导入Excel工作表提取A1单元格值作为新列行值的代码问询

R批量处理Excel工作表实现代码

首先安装并加载所需依赖包:

# 安装依赖(首次使用执行)
install.packages(c("readxl", "dplyr", "purrr"))
# 加载包
library(readxl)
library(dplyr)
library(purrr)

1. 封装单工作表处理函数

process_single_sheet <- function(file_path, sheet_name) {
  # 提取A1单元格的表标题作为id值
  sheet_id <- read_excel(
    path = file_path,
    sheet = sheet_name,
    n_max = 1,
    col_names = FALSE
  ) |> pull(1)
  
  # 读取正式数据,跳过第一行,将第二行设为列名
  df <- read_excel(
    path = file_path,
    sheet = sheet_name,
    skip = 1,
    col_names = TRUE
  )
  
  # 新增id列,所有行取值为提取到的表标题
  df <- df |> mutate(id = sheet_id)
  
  return(df)
}

2. 批量处理所有工作表并合并结果

# 替换为你的Excel文件路径
excel_path <- "你的文件路径.xlsx"
# 获取文件内所有工作表名称
all_sheets <- excel_sheets(excel_path)
# 批量处理所有工作表,结果合并为单个数据框
final_data <- map_dfr(all_sheets, ~process_single_sheet(file_path = excel_path, sheet_name = .x))

功能说明

处理后的final_data会包含所有工作表的数据,每条数据都带有对应工作表A1单元格取值的id列,完全符合table a转table b的需求。如果A1为合并单元格也可正常识别,因为readxl读取合并单元格时仅首个位置会保留值,刚好匹配该类数据结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:39:00