从子目录中读取文件

read files from subdirectories

我有从“0001”到“0999”命名的子目录,每个子目录中都有一个名为"abc.csv"的文件。 如何读取列表中的所有这些文件?

到目前为止,这是我的方法:

abcs <- list()
for(i in seq_len(999))
  eval(parse(text=paste0("abcs[[",i,"]] <- read.csv('~/mydir/0000",i,"/abc.csv')")))

但是,我必须对每个前导零的数量分别执行此操作。

一定有更简单的方法,谢谢。 我知道还有 'list.dir()' 函数。

只需在list.files

中使用递归参数
list_of_files <- list.files("~/mydir/", pattern = ".csv", recursive = T)
list_results <- lapply(list_of_files, read.csv)

这就是你要找的吗?

这个怎么样? sprintf("%04d", n) 将数字前面的零填充到所需的长度

abcs <- lapply(1:999, function(n) read.csv(paste0(sprintf("%04d", n),"/abc.csv")))