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

如何用R语言for循环读取子文件夹中CSV并分配至对应变量

修正R循环读取CSV文件的方案

你的循环代码存在两个关键问题:

  • 文件名拼接错误:你把变量i当成了字符串"i",导致生成的路径是2011/abc_file_20i.csv这类错误格式,需要把变量i嵌入到路径拼接逻辑中。
  • 变量赋值方式错误:abc_list是字符向量,无法直接将数据框赋值给它的元素,得用assign()函数来创建对应名称的变量。

方案一:创建单独命名的变量

修正后的循环代码如下:

abc_list <- paste0("abc_file_20", 11:22)

for (i in 11:22) {
  # 生成正确的文件路径
  file_path <- paste0("20", i, "/abc_file_20", i, ".csv")
  # 用assign创建对应名称的变量
  assign(paste0("abc_file_20", i), read.csv(file_path))
}

运行后你会得到abc_file_2011到abc_file_2022这些独立的数据框变量。

方案二:用列表存储(更推荐)

单独变量不利于批量操作,把所有数据框存到一个列表里会更方便后续处理:

# 创建空列表
abc_data_list <- list()

for (i in 11:22) {
  file_path <- paste0("20", i, "/abc_file_20", i, ".csv")
  # 按年份作为列表名称存储数据框
  abc_data_list[[paste0("20", i)]] <- read.csv(file_path)
}

之后可以通过abc_data_list[["2011"]]访问对应年份的数据,也能轻松用lapply等函数批量处理所有数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 18:14:51