r for循环导入单个数据框中的xlsx文件

时间:2016-07-20 03:40:54

标签: r linux for-loop dataframe import-from-excel

我想将50个xlsx文件导入到R中,每个文件都是一个单独的数据框,这样我就可以单独循环进行下游计算。

导入:

1.name_input.xlsx
2.name_input.xlsx
3.name_input.xlsx
4.name_input.xlsx
.
.
.
50.name_input.xlsx



listy <- list.files(path = "./",pattern = "*.xlsx", full.names = FALSE,recursive = TRUE) 

for ( i in 1:length(listy)) { filename=listy[i] data=read.xls(file = i,header=TRUE) assign(x=filename,value = data)} 

但它不起作用,还有其他方法可以解决这个问题吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以将lapply() readxl 包中的read_excel()结合使用,以读取文件列表中的每个文件

require(readxl)

listy <- list.files(path = "./",pattern = "*.xlsx", full.names = FALSE,recursive = TRUE)

all_data <- lapply(listy,read_excel) 

生成的all_data对象将是一个列表,其中每个列表元素对应于listy

中的文件