Read multiple csv files in several directories in r

让人想犯罪 __ 提交于 2019-12-25 03:21:51

问题


I want to read multiple .csv files from differents directories then put it in a single dataframe.

I have two kinds of directories to read:

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

so above directories i have so i have to read the all the files from based upon the contires which i will give in a path like as shown in path austria or switzerland...so there are many countries and like Ap deo or bar soap there are 8 categories in each countries i want to read only variants folders csv so those csv files can be 1 or 2 or 3 or sometimes more than that how can i read these files?


回答1:


Maybe something like the following.

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)


来源:https://stackoverflow.com/questions/53050039/read-multiple-csv-files-in-several-directories-in-r

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!