我想从differents目录中读取多个.csv文件,然后将其放在单个数据框中。
我有两种目录可供读取:
E:/R_Process/R_Input_UDM/Greater Europe/CEW Hub/Austria/Ap deo/Variant/Ap_deo_1.csv
E:/R_Process/R_Input_UDM/Greater Europe/CEW Hub/Austria/Ap deo/Variant/Ap_deo_2.csv
E:/R_Process/R_Input_UDM/Greater Europe/CEW Hub/Austria/Bar soap/Variant/Bar_soap_1.csv
E:/R_Process/R_Input_UDM/Greater Europe/CEW Hub/Austria/Bar soap/Variant/Bar_soap_2.csv
E:/R_Process/R_Input_UDM/Greater Europe/CEW Hub/Switzerland/Ap deo/Variant/Ap_deo_1.csv
E:/R_Process/R_Input_UDM/Greater Europe/CEW Hub/Switzerland/Ap deo/Variant/Ap_deo_2.csv
E:/R_Process/R_Input_UDM/Greater Europe/CEW Hub/Switzerland/Bar soap/Variant/Bar_soap_1.csv
E:/R_Process/R_Input_UDM/Greater Europe/CEW Hub/Switzerland/Bar soap/Variant/Bar_soap_2.csv
因此,在上面的目录中,我必须根据要在路径中给出的内容(例如在奥地利或瑞士的路径中所示)读取所有文件...所以有很多国家/地区,例如Ap deo或肥皂在每个国家/地区有8个类别,我只想阅读csv变体文件夹,因此这些csv文件可以是1或2或3,有时甚至更多,我该如何读取这些文件?
答案 0 :(得分:1)
也许类似以下内容。
base <- "E:/R_Process/R_Input_UDM/Greater Europe/CEW Hub/"
or1 <- "(Austria|Switzerland)"
or2 <- "(Ap deo|Bar soap)"
pat <- paste(or1, or2, "Variant/.*\\.csv$", sep = "/")
filenames <- list.files(path = base, pattern = pat,
recursive = TRUE, full.names = TRUE)
df_list <- lapply(filenames, read.csv)
names(df_list) <- sapply(filenames, basename)