gpt4 book ai didi

将多个包含多个工作表的 xlsx 文件读取到一个 R 数据框中

转载 作者:行者123 更新时间:2023-12-02 01:03:52 25 4
gpt4 key购买 nike

我一直在阅读如何读取多个 xlsx 文件并将其合并到一个 R 数据框中,并遇到了一些非常好的建议,例如 How to read multiple xlsx file in R using loop with specific rows and columns ,但到目前为止不适合我的数据集。

我希望 R 读取多个包含多个工作表的 xlsx 文件。所有工作表和文件都具有相同的列,但长度不同,并且应排除 NA。我想跳过前 3 行,只获取第 1:6、8:10、12:17、19 列。

到目前为止我尝试过:

file.list <- list.files(recursive=T,pattern='*.xlsx')

dat = lapply(file.list, function(i){
x = read.xlsx(i, sheetIndex=1, sheetName=NULL, startRow=4,
endRow=NULL, as.data.frame=TRUE, header=F)
# Column select
x = x[, c(1:6,8:10,12:17,19)]
# Create column with file name
x$file = i
# Return data
x
})

dat = do.call("rbind.data.frame", dat)

但这只需要每个文件的第一张纸

有谁知道如何将所有工作表和文件放在一个 R 数据框中?

此外,对于大量数据,您会推荐哪些软件包?到目前为止,我尝试了 readxl 和 XLConnect。

最佳答案

openxlsx解决方案:

filename <-"myFilePath"

sheets <- openxlsx::getSheetNames(filename)
SheetList <- lapply(sheets,openxlsx::read.xlsx,xlsxFile=filename)
names(SheetList) <- sheets

关于将多个包含多个工作表的 xlsx 文件读取到一个 R 数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38197705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com