首页 > 解决方案 > R: 如何读取多个 xlsx 文件?错误:`路径`不存在:

问题描述

伙计们,我需要你的帮助。

我想读取一堆 xlsx 文件,但由于某种原因它不起作用。我的代码遵循其他堆栈溢出帖子中给出的一些建议。我很抱歉,但没有可重现的代码,我完全迷失在这里。

tbl <-
  list.files(path = 'Data/', pattern = "*.xlsx") %>% 
  map_df(~read_excel(.))

Output: Error: `path` does not exist: ‘CRO-ALL-COUNTRIES.xlsx’

现在,如果我只运行这条线

list.files(path = 'Data/', pattern = "*.xlsx")

Result: 
>  list.files(path = 'Data/', pattern = "*.xlsx")
[1] "CRO-ALL-COUNTRIES.xlsx"  
[2] "Direct-material-packaging-ALL-COUNTRIES.xlsx"   
[3] "Direct-material-Raw-material-ALL-COUNTRIES.xlsx"

我获得了该文件夹中的所有文件,并且 CRO-ALL-COUNTRIES.xlsx 在那里!!!为什么我读不出来?

标签: rdplyr

解决方案


给这个问题一个正式的答案。如果您查找?list.filesfull.names参数,则默认为 FALSE。正如 Andrew 所指出的,它正在您当前的工作目录中查找您的文件。当您键入full.names = TRUE目录路径时,文件名前面会附加一个相对路径。

tbl <-
  list.files(path = 'Data/', pattern = "*.xlsx", full.names = TRUE) %>% 
  map_df(~read_excel(.))

推荐阅读