r for循环在单个数据框中导入xlsx文件
r for loop to import xlsx files in individual data frame
我想将 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)}
但是还是不行,请问还有其他方法可以解决吗?
谢谢。
您可以将 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
中的一个文件
我想将 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)}
但是还是不行,请问还有其他方法可以解决吗?
谢谢。
您可以将 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