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

R语言按两列嵌套分类创建文件夹并导出Excel文件的实现问题

R按州创建文件夹并分银行导出Excel实现方案

实现代码

# 加载依赖包(需提前安装install.packages("openxlsx"))
library(openxlsx)

# 模拟数据(你可替换为自己的真实数据集)
States = rep(c("AR", "KS", "CA", "MO", "NE"),times = c(10, 5, 15, 8, 12))
Banks = c(paste0("Bank_", 1:50))
Rating = rnorm(50, mean=30, sd=5)
MyData = data.frame(States, Banks, Rating)

# 1. 批量生成所有州的独立文件夹
unique_states <- unique(MyData$States)
lapply(unique_states, function(x) {
  dir.create(x, showWarnings = FALSE, recursive = TRUE)
})

# 2. 逐行导出单个银行数据到对应州的文件夹
apply(MyData, 1, function(row_item) {
  # 提取当前行的州名、银行名
  cur_state <- row_item[["States"]]
  cur_bank <- row_item[["Banks"]]
  # 拼接导出路径
  export_path <- file.path(cur_state, paste0(cur_bank, ".xlsx"))
  # 导出数据
  write.xlsx(as.data.frame(t(row_item)), file = export_path, row.names = FALSE)
})

补充说明

  • dir.create中添加showWarnings = FALSE是为了避免重复运行代码时,因文件夹已存在抛出报错中断运行;recursive = TRUE可兼容多层嵌套文件夹的创建需求
  • 如果你需要每个州文件夹内存放的是该州所有银行的汇总表,可将第二步代码替换为以下内容:
state_split_data <- split(MyData, MyData$States)
Map(function(state_data, state_name) {
  export_path <- file.path(state_name, paste0(state_name, "_银行评分汇总.xlsx"))
  write.xlsx(state_data, file = export_path, row.names = FALSE)
}, state_split_data, names(state_split_data))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 08:24:03