3

假设我有一个 excel 文件,我想用read.xlsx函数读取到 R。文件由电子表格组成,我不知道其中的数量(大约有 200 个这样的文件,因此手动检查工作表的数量会非常痛苦)。每个电子表格都像一个适当的数据框一样组织起来。我想把这些电子表格放在另一个上面。我写的是这样的:

    columnsILike <- c(1,40)
    for(i in 1:numberOfSheets){
        dfInd <- read.xlsx("myfile.xlsx", i, # number of sheet
                           colIndex=columnsILike, endRow=201, startRow=2, 
                           header=F)
        PreviousEmptyDataFrame <- rbind(PreviousEmptyDataFrame, dfInd)
    }
    write.csv(PreviousEmptyDataFrame, "data.csv")

问题是,我如何提前知道张数?

4

3 回答 3

4

getSheets(loadWorkbook("file_path"))XLSX 包中应该返回工作簿中工作表的列表,以便您可以获取列表的长度以查找工作表的数量。

于 2014-05-14T17:24:53.833 回答
2

这个答案相当晚,但这不是更简单吗?

gdata::sheetCount("myworkbook.xlsx")

于 2016-06-01T15:26:20.193 回答
1

XLConnect如果工作簿不是太大,您也可以使用包。

library(XLConnect)
wb <- loadWorkbook("myworkbook.xlsx")
result <- do.call(rbind,lapply(getSheets(wb),
                               function(sheet)readWorksheet(wb,sheet)))
于 2014-05-14T17:53:19.390 回答