R 从多个文件夹中读取*.csv作为列表
我在多个文件夹中有数千个*csv文件R 从多个文件夹中读取*.csv作为列表,r,csv,R,Csv,我在多个文件夹中有数千个*csv文件。/t1/*.csv,。/t2/*.csv,。/t3/*.csv…等等 我可以从多个文件夹上载文件,如下所示: filenames <- list.files(c("C:/Example/t1","C:/Example/t2"), pattern="*.csv", full.names=TRUE) list.df <- lapply(filenames, read.csv) filenames使用list.files和recursive=TRUE
。/t1/*.csv
,。/t2/*.csv
,。/t3/*.csv
…等等
我可以从多个文件夹上载文件,如下所示:
filenames <- list.files(c("C:/Example/t1","C:/Example/t2"), pattern="*.csv", full.names=TRUE)
list.df <- lapply(filenames, read.csv)
filenames使用list.files
和recursive=TRUE
将搜索第一个参数下的所有文件夹以查找匹配的文件:
> list.files("./",recursive=TRUE)
[1] "a/a1.csv" "a/a2.csv" "a/notme.txt" "b/b1.csv" "d/e/e1.csv"
这是我当前目录下的所有文件,如果我只想要CSV:
> list.files("./",recursive=TRUE,pattern="*.csv")
[1] "a/a1.csv" "a/a2.csv" "b/b1.csv" "d/e/e1.csv"
注意它在第二级d/e/
文件夹中的外观
如果您只想进入一个特定的深度,请尝试Sys.glob
-这些模式匹配文件夹和文件,这些示例在当前目录下工作:
仅第一级:
> Sys.glob("*/*.csv")
[1] "a/a1.csv" "a/a2.csv" "b/b1.csv"
仅第二级:
> Sys.glob("*/*/*.csv")
[1] "d/e/e1.csv"
使用list.files
和recursive=TRUE
将搜索第一个参数下的所有文件夹以查找匹配的文件:
> list.files("./",recursive=TRUE)
[1] "a/a1.csv" "a/a2.csv" "a/notme.txt" "b/b1.csv" "d/e/e1.csv"
这是我当前目录下的所有文件,如果我只想要CSV:
> list.files("./",recursive=TRUE,pattern="*.csv")
[1] "a/a1.csv" "a/a2.csv" "b/b1.csv" "d/e/e1.csv"
注意它在第二级d/e/
文件夹中的外观
如果您只想进入一个特定的深度,请尝试Sys.glob
-这些模式匹配文件夹和文件,这些示例在当前目录下工作:
仅第一级:
> Sys.glob("*/*.csv")
[1] "a/a1.csv" "a/a2.csv" "b/b1.csv"
仅第二级:
> Sys.glob("*/*/*.csv")
[1] "d/e/e1.csv"
“上传”和它有什么关系?你知道这意味着什么吗?试着阅读list.files
的帮助,尤其是recursive
参数。好的,read
更合适吗?不,只有“C:/Example/
,我已经试过了。这样行吗?n@David。很好用!上传是什么“这有什么关系?你知道这意味着什么吗?试着阅读list.files
的帮助,尤其是recursive
参数。好的,read
更合适吗?不,它不适用于只有“C:/Example/
,我已经试过了。类似的方法可以吗?n@David.非常有效!我发现dir
函数过去很有用。例如dir(pattern='t[0-9])
。list.files
优于dir
?我在任何地方都看不到dir
的太多用法。我发现dir
函数在过去很有用。例如dir(pattern='t[0-9])是列表.文件
优于目录
?我看不到目录
在任何地方有多少用法。