问题
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