You need to enable JavaScript to run this app. R语言读取Excel工作表时如何迭代命名dataset数据集
优惠活动
大模型
产品
解决方案
定价
更多

R语言读取Excel工作表时如何迭代命名dataset数据集

修正原有代码的两处笔误

  • 变量名大小写不一致:第一行定义的是Sheets,第二行调用时写成了小写sheets
  • grepl筛选行末尾缺少右括号)

方案1:生成dataset1、dataset2格式的独立变量

用assign()函数可以实现动态生成指定名称的环境变量,代码如下:

library(Rcpp)
library(readxl)

Sheets <- readxl::excel_sheets("~/data.xlsx")
sheet_names <- Sheets[grepl("String", Sheets, ignore.case = TRUE)]

for (i in seq_along(sheet_names)) {
  # 动态拼接变量名,赋值到当前环境
  assign(paste0("dataset", i), read_excel("data.xlsx", sheet = sheet_names[i]))
}

运行后就能直接在环境里调用dataset1、dataset2等对应数据集。


方案2:直接用工作表名作为数据集变量名

如果想要变量名和工作表名完全一致,调整assign的第一个参数即可:

for (i in seq_along(sheet_names)) {
  assign(sheet_names[i], read_excel("data.xlsx", sheet = sheet_names[i]))
}

如果工作表名有空格、特殊字符,可以用get()函数调用,比如get("sheet 名称")。


更推荐的做法:用列表存储所有数据集

散落的独立变量后续批量处理会很麻烦,更建议把所有数据集存在一个命名列表里,调用更方便:

# 生成命名列表,名称为对应工作表名
dataset_list <- lapply(sheet_names, function(s) read_excel("data.xlsx", sheet = s))
names(dataset_list) <- sheet_names

# 调用方式:按名称取 dataset_list[["工作表名"]],按序号取 dataset_list[[1]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 02:03:03