如何将指定文件夹下多个.cal文件读取为R的数据框列表?
R批量读取多文件为数据框列表解决方案
你之前的代码读取失败的核心原因是list.files设置了full.names = F,仅能获取不含路径的纯文件名,而目标文件与R脚本不在同一个目录下,读取函数无法在默认的当前工作目录找到目标文件。
1 调整文件名列表获取逻辑
首先修正list.files的参数,获取文件的完整路径,同时优化正则匹配规则,避免误选中名称中带.cal但后缀不是.cal的文件:
users_list <- list.files(path = "Data_Eye/Jazz/data/first", pattern = "\\.cal$", full.names = TRUE)
2 批量读取生成数据框列表
使用purrr::map配合read_delim批量读取,最终得到所有数据框组成的列表:
# 加载依赖包,未安装的话先执行install.packages("tidyverse") library(tidyverse) # 批量读取,需将delim参数替换为你.cal文件实际使用的分隔符,比如逗号填","、制表符填"\t" df_list <- map(users_list, ~ read_delim(.x, delim = "\t", show_col_types = FALSE)) # 可选操作:给列表元素设置对应文件名(去掉后缀),方便后续按名称调取数据框 names(df_list) <- stringr::str_remove(basename(users_list), "\\.cal$")
后续使用时,通过df_list[[序号]]即可调取对应位置的文件数据框,如果你执行了上述命名操作,也可以通过df_list$文件名直接调取对应数据框。
内容的提问来源于stack exchange,提问作者Karls
相关产品推荐
相关产品推荐

