首页 文章

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

提问于
浏览
2

我试图从多个目录/子目录中提取许多.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 回答

  • 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"
    

相关问题