如何读取多个.xlsx并在R中生成多个dataframe?

我想在xlsx中读取三个不同的文件,并将它们保存在三个不同的数据框中,分别称为excel1,excel2和excel3。 我怎样才能做到这一点? 我认为这应该是这样的:

files = list.files(pattern='[.]xlsx') #There are three files. for (i in 1:files){ "excel" + i =read.xlsx(files[i]) } 

我build议你使用一个列表,而不是在当前工作区中创build3个variables:

 dfList <- list() for (i in 1:files){ dfList[[paste0("excel",i)]] <- read.xlsx(files[i]) } 

那么你可以这样访问他们:

 dfList$excel1 dfList$excel2 dfList$excel3 

要么 :

 dfList[[1]] dfList[[2]] dfList[[3]] 

但是,如果你真的想创build新的variables,你可以使用assign函数:

 for (i in 1:files){ assign(paste0("excel",i), read.xlsx(files[i])) } # now excel1, excel2, excel3 variables exist... 

你也可以使用plyr ,这是一个很好的实践,提到你想创buildvariables的环境:

 library(plyr) l_ply(1:length(files), function(i) assign(paste0('excel',i),read.xlsx(files[i]), envir=globalenv())) 

如果有人试图使用这个代码,这个参数是非常有用的:

  library(xlsx) files = list.files(pattern='[.]xlsx') dfList <- list() for (i in 1:length(files)){ dfList[[paste0("excel",i)]] <- read.xlsx(files[i],header=T,stringsAsFactors=FALSE,sheetIndex = 1) }