使用readxl R将excel文件读入单个数据框

我有一堆excel文件,我想读取它们并将它们合并到单个数据框中。 我有以下代码:

library(readxl) files <- list.files() f <- list() data_names <- gsub("[.]xls", "", files) 

将每个excel文件读入数据框

 for (i in 1:length(files)){ assign(data_names[i], read_excel(files[i], sheet = 1, skip = 6)) } 

但是,如果我尝试将它保存在一个variables中,只保存了最后一个文件

 for (i in 1:length(files)){ temp <- read_excel(files[i], sheet = 1, skip = 6) } 

我会用plyr来做到这plyr

 library(readxl) library(plyr) files <- list.files(".", "\\.xls") data <- ldply(files, read_excel, sheet = 1, skip = 6) 

如果你想添加一个文件名的列,你可以做:

 data <- ldply(files, function(fil) { data.frame(File = fil, read_excel(fil, sheet = 1, skip = 6)) } 

我build议在R中使用列表环境,assign可能相当混乱,你不能用GET来维持值。

应该是这样的:

 l <- list() for (i in 1:length(files)){ l[[i]] <- read_excel(files[i], sheet = 1, skip = 6)) } ltogether <- do.call("rbind",l)