[英]How to import multiple excel files present in a folder and apply given algorithm to each of them in R?
我在多个文件夹中有多个excel文件,每个文件都需要使用一种算法分别估算,因此我想按文件导入数据并使用算法逐一估算,但又不合并任何数据
我尝试使用readxl库
library(readxl)
file.list <- list.files("C:/Users/srich/Downloads/Course Project Datasets/Incomplete Datasets Without Labels/4-gauss", pattern='*.xlsx')
df.list <- lapply(file.list, read_xlsx)
但是我只是得到该文件夹中存在的文件列表,我希望每个文件数据都可以在环境中加载以进行插补。
很抱歉,如果我对R陌生,我的问题含糊其辞,只有几天的经验。 谢谢。
可以更简单(尽管效率较低)在for循环中执行此操作。
例如,
file_vector <- list.files(path = "A:/data folder")
csv_list <- file_vector[grepl(".csv",file_vector)]
for (i in 1:length(csv_list)){
data <- read_csv(paste("data/", csv_list[i], sep=""))
#whatever imputations that you want
write.csv(data, paste("data/","out", csv_list[i], sep=""))
}
这将从多个Excel文件中的多个工作表中导入数据。 试试看,然后反馈。
read_excel_allsheets <- function(filename) {
sheets <- readxl::excel_sheets(filename)
x <- lapply(sheets, function(X) readxl::read_excel(filename, sheet = X))
names(x) <- sheets
x
}
files <- list.files(path = "/directory/in/question/",
pattern = "*.xlsx",
full.names = TRUE)
out <- lapply(files, read_excel_allsheets)
names(out) <- basename(files)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.