假设我有一个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")
问题是,我如何提前知道张数?
答案 0 :(得分:5)
getSheets(loadWorkbook("file_path"))
应返回工作簿中的工作表列表,以便您可以获取列表的长度以查找工作表的数量。
答案 1 :(得分:1)
如果工作簿不是太大,您也可以使用包XLConnect
。
library(XLConnect)
wb <- loadWorkbook("myworkbook.xlsx")
result <- do.call(rbind,lapply(getSheets(wb),
function(sheet)readWorksheet(wb,sheet)))
答案 2 :(得分:1)
这个答案相当晚,但这不会更简单吗?
gdata::sheetCount("myworkbook.xlsx")