读取R中目录中的特定文件

时间:2019-10-18 03:48:44

标签: r

我正在尝试列出目录中的文件

files = list.files("folder/", pattern="csv")

例如, 如果输出是

a.csv
b.csv
c.csv

现在,我想使用下面的list作为过滤器,从文件夹中仅选择特定文件。 文件名(不带扩展名)存储在列表中。

list <- list("a", "b")

我只想在files中存储a.csv和b.csv

关于如何执行此操作的任何建议?

1 个答案:

答案 0 :(得分:1)

您可以使用文件名列表生成正则表达式模式:

lst <- list("a", "b")
pat <- paste0("\\b(", paste(lst, collapse="|"), ")\\b")
files = list.files("folder/", pattern="csv")
files.keep <- grep(pat, files, value=TRUE)
files.keep

[1] "a.csv" "b.csv"

这假定您将使用在文件名的两面都带有单词边界的文件名。这适用于上面的数据,因为使用的名称是从头开始的,并且右边的扩展名以点开头。