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

Posted

技术标签:

【中文标题】r for 循环在单个数据框中导入 xlsx 文件【英文标题】:r for loop to import xlsx files in individual data frame 【发布时间】:2016-07-20 03:40:54 【问题描述】:

我想将 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) 

但它不起作用,那么还有其他方法可以解决吗?

谢谢。

【问题讨论】:

是错字吗?应该 pattern = "*.xlsx" 吗? 这篇文章中的错字。我的命令不起作用。 @Marichyasana 你能帮帮我吗? 我下面的回答对你有用吗? 【参考方案1】:

您可以将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 中的一个文件

【讨论】:

以上是关于r for 循环在单个数据框中导入 xlsx 文件的主要内容,如果未能解决你的问题,请参考以下文章

从Excel向MATLAB中导入数据出现了nan怎么处理

我如何在python中使用for循环制作熊猫数据框对象

在 R 中导入 excel 表头

使用lapply或for循环将多个csv文件拉入自己的R数据帧

如何在 R 中导入和合并多个文件?

在 Javascript 中导入 xlsx 文件时如何手动强制 javascript 事件?