在不同文件夹中加载r中的多个文件

在不同文件夹中加载r中的多个文件,r,R,如何从r中不同文件夹的多个文件加载,然后执行行绑定 例如,文件夹名为“week1”、“week2”、“week3”。。。它们都在主文件夹“2020年”中 在每个每周文件夹“week1”、“week2”…中,有7个不同的文件夹对应于每周的每一天,它们以YYYYMMDD格式命名。因此文件夹“week1”有7个不同的文件夹名称“20200101”、“20200102”、“20200107”“。每个文件夹都有一个csv文件名视图_YYYYMMDD.csv,如下所示。但是他们没有任何日期栏 文件夹结构如下

如何从r中不同文件夹的多个文件加载,然后执行行绑定

例如,文件夹名为“week1”、“week2”、“week3”。。。它们都在主文件夹“2020年”中

在每个每周文件夹“week1”、“week2”…中,有7个不同的文件夹对应于每周的每一天,它们以YYYYMMDD格式命名。因此文件夹“week1”有7个不同的文件夹名称“20200101”、“20200102”、“20200107”“。每个文件夹都有一个csv文件名视图_YYYYMMDD.csv,如下所示。但是他们没有任何日期栏

文件夹结构如下所示

YEAR_2020        week1      20200101           view_20200101.csv    
                 week1      20200102           view_20200102.csv
                            --------           -----------------
                 week1      20200107           view_20200107.csv
                 week2      20200108           view_20200108.csv
                 ------     --------           -----------------
csv文件的示例

df <- data.frame(Emp_Id = c(1,1,1,1,2,2,2,3,3),
             time = c(5,2,80,3,3,1,90,80,5),
             A = c(111,111,111,222,222,222,333,333,333))

   Emp_Id time   
   1    5 111
   1    2 111
   1   80 111
   1    3 222
   2    3 222
   2    1 222
   2   90 333
   3   80 333
   3    5 333

df尝试以下方法:

library(tidyverse)
library(lubridate)

main_folder %>%
  list.files(full.names = TRUE, recursive = TRUE) %>%
  map(read_csv) %>%
  setNames(., basename(.)) %>%
  imap(
    ~mutate(.x, date = ymd(str_extract(.y, "[0-9]+")))
  ) %>%
  bind_rows()
其中
main_path
是包含星期文件夹的文件夹的路径