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