3

我有一组要导入的 excel 文件R

这些文件包含我想忽略的隐藏数据——例如,根本不导入它,或者导入它时带有一个表明它被隐藏的标志,以便我可以删除它。

这些文件包含两种类型的隐藏数据:

  • 完整的工作表被隐藏
  • 工作表中的特定行被隐藏。

有没有办法识别excel中的数据何时隐藏?

现在我正在使用该gdata包,但很高兴使用XLConnect或其他包

示例代码:

library(gdata)
xlsfile <- "test.xls"

# grab all the sheet names. 
# This is giving me both hidden & non-hidden sheets.  I would like only the latter
sheets <- sheetNames(xlsfile)

# read in the xls file, by sheet 
xlData <- 
  lapply(sheets, function(s) 
      read.xls(xlsfile, sheet=s, stringsAsFactors = FALSE))

如果需要,我可以创建一个虚拟xls文件并发布它。

4

1 回答 1

2

XLConnect有一个很好的函数叫做isSheetHidden它可以做你想要的。假设Sheet2是隐藏的:

library(XLConnect)
xlsfile <- "Book1.xls"
wb <- loadWorkbook(xlsfile, create = TRUE)
isSheetHidden(wb, "Sheet1") # FALSE
isSheetHidden(wb, "Sheet2") # TRUE

gdata您必须编写自己的函数来调用底层 perl 包来访问 sheet 属性,但这是可能的。

于 2013-10-02T16:41:59.737 回答