将多个目录中的csv文件复制到R中的新文件

时间:2018-05-17 12:30:18

标签: r csv

我正在尝试从多个目录/子目录中提取许多.csv文件,并将它们复制到一个新文件夹中,我希望最终只能使用.csv文件。

csv文件存储在具有以下结构的子目录中:

D:\R data\main_folder\03\07\04\BBB_0120180307031414614.csv
D:\R data\main_folder\03\07\05\BBB_0120180307031414615.csv

我正在尝试使用list.files函数来提取csv文件名。

my_dirs <- list.files("D:\\R data\\main_folder\\",pattern="\\.csv$" ,recursive = TRUE, 
                      include.dirs = FALSE,full.names = FALSE)

问题是csv文件与目录路径一起列出,例如:

03/07/03/BBB_0120180307031414614.csv

而且,即使full.names和include.dirs设置为FALSE。 这可以防止我在新文件夹中复制这些文件,因为无法识别名称。 我究竟做错了什么? 感谢

1 个答案:

答案 0 :(得分:1)

使用与basename结合的list.files功能,如下所示。

如果我理解正确,那么您想要获取不同目录中存在的 .csv 文件的名称。

我在windows机器的文档目录中创建了一个 temp 文件夹,里面我有两个文件夹“one”和“two”,在这些文件夹里面我有csv文件命名为“just_one”。 csv“和”just_two.csv“。

所以如果我想获取名称“just_one.csv”和“just_two.csv”,那么我可以这样做:

basename(list.files("C:/Users/C_Nfdl_99878314/Documents/temp", "*.csv", recursive=T))

结果是:

[1] "just_one.csv" "just_two.csv"