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

在R语言中为Excel工作簿的每个工作表创建对应数据框

为Excel每个工作表创建对应命名的数据框(df1、df2...)

你的需求是给Input_Data.xlsx的每个工作表生成独立命名的数据框(如df1对应工作表1、df2对应工作表2),但现有代码是把数据存入列表df的元素中,并没有生成你需要的独立变量。

修正后的代码

library(readxl)

# 自动获取工作簿的工作表数量,避免硬编码
sheet_total <- length(excel_sheets("Desktop/R_Plots/Input_Data.xlsx"))

# 循环创建对应命名的数据框
for(i in 1:sheet_total) {
  # 构建目标变量名:df1、df2...
  target_var <- paste0("df", i)
  # 将读取的工作表数据赋值到全局环境的对应变量
  assign(target_var, read_excel("Desktop/R_Plots/Input_Data.xlsx", sheet = i))
}

额外优化建议

  • 如果你希望按工作表名称命名数据框(比如工作表名为"Q1_Sales"就生成df_Q1_Sales),可以修改循环内的变量名逻辑:
    sheet_names <- excel_sheets("Desktop/R_Plots/Input_Data.xlsx")
    for(i in seq_along(sheet_names)) {
      target_var <- paste0("df_", sheet_names[i])
      assign(target_var, read_excel("Desktop/R_Plots/Input_Data.xlsx", sheet = sheet_names[i]))
    }
    
  • 用excel_sheets()自动获取工作表信息,比硬编码数字(比如1:39)更灵活,工作表数量变化时无需修改代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 12:51:35