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

非工作目录读取Excel文件报错,如何无需切换目录解决?

无需切换工作目录读取非工作目录下的多个Excel文件

问题出在list.files()默认只返回文件名,而非完整文件路径。当你用lapply调用read_excel()时,函数会在当前工作目录下查找这些文件名,自然找不到存放在05_TT/Output/下的文件。

有两种无需切换工作目录的解决方法:

方法1:让list.files()返回完整路径

给list.files()添加full.names = TRUE参数,直接获取带路径的完整文件名:

library(readxl)
# 获取带完整路径的文件名列表
file.list <- list.files(path = "05_TT/Output/", pattern='*.xlsx', full.names = TRUE)
# 批量读取文件
df.list <- lapply(file.list, read_excel)

方法2:在读取时拼接路径

如果你已经获取了纯文件名列表,可以在lapply的匿名函数里用file.path()拼接路径和文件名(跨平台兼容,避免手动写分隔符出错):

library(readxl)
file.list <- list.files(path = "05_TT/Output/", pattern='*.xlsx')
# 拼接路径后读取
df.list <- lapply(file.list, function(filename) {
  read_excel(file.path("05_TT/Output/", filename))
})

两种方法都能在不切换工作目录的前提下完成文件读取,方法1更简洁高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 13:55:21