R语言循环读取文件报错,直接读取正常,求问题排查
问题原因及解决办法
1. 路径不一致的低级错误
你统计文件数量时用的路径是"C:/Users/Jane/Downloads/WantedFolder",但提取文件列表时却用了"C:/Users/Jane/Downloads/Folder"——两个路径不匹配,会导致文件数量统计和实际读取的文件列表完全对应不上,甚至读到错误文件夹的内容。
2. 缺少完整文件路径
list.files()默认只返回文件名,不包含完整路径。当你执行read.table(g)时,R会在当前工作目录下寻找这个文件,而不是去WantedFolder文件夹里找,自然会出现找不到文件的错误。
修正后的代码
# 统一文件夹路径,避免重复输入出错 folder_path <- "C:/Users/Jane/Downloads/WantedFolder" # 获取带完整路径的文件列表 file_list <- list.files(folder_path, full.names = TRUE) num_files <- length(file_list) for (i in 1:num_files) { data1 <- read.table(file_list[i]) head(data1) }
关键修改说明:
- 用变量统一存储文件夹路径,减少手动输入出错概率
- 给
list.files()添加full.names = TRUE参数,直接获取包含完整路径的文件名 - 循环时直接使用
file_list[i],无需额外赋值步骤
内容的提问来源于stack exchange,提问作者LeonieChan
相关产品推荐
相关产品推荐

