我正在尝试从多个目录/子目录中提取许多.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。 这可以防止我在新文件夹中复制这些文件,因为无法识别名称。 我究竟做错了什么? 感谢
答案 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"