如何从Excel导入时忽略隐藏的数据
我有我正在导入到R
的Excel文件的集合。
这些文件包含我想忽略的隐藏数据 – 例如,根本不导入它,或者用一个表示隐藏的标志导入它,然后我可以删除它。
这些文件包含两种types的隐藏数据:
- 完整的表是隐藏的
- 表单中的特定行是隐藏的。
有什么方法可以确定何时隐藏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))
如果需要,我可以创build一个虚拟的xls
文件并发布。
XLConnect
有一个很好的函数叫做isSheetHidden
,它可以做你想做的事情。 假设Sheet2
是隐藏的:
library(XLConnect) xlsfile <- "Book1.xls" wb <- loadWorkbook(xlsfile, create = TRUE) isSheetHidden(wb, "Sheet1") # FALSE isSheetHidden(wb, "Sheet2") # TRUE
在gdata
你将不得不编写自己的函数来调用底层的perl包来访问sheet属性,但是这是可能的。