【发布时间】:2013-10-03 00:41:59
【问题描述】:
我有一组要导入到R 的 excel 文件。
这些文件包含我想忽略的隐藏数据——例如,根本不导入它,或者导入它时带有一个标志,表明它是隐藏的,以便我可以删除它。
文件包含两种类型的隐藏数据:
- 完整的工作表已隐藏
- 工作表中的特定行被隐藏。
有没有办法识别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 文件并发布它。
【问题讨论】:
-
我为被困在这个地狱的圈子里而感到同情。我认为从另一端执行此操作可能更容易,即编写一个将非隐藏数据导出为 CSV 的 VBA 脚本。但我不能提供更具体的建议,因为我原则上会拒绝这些文件。
-
您可能已经知道这一点,但您可以在复制数据之前检查是否可见:如果 Sheets(ws).Visible = false 然后复制...
-
@PortlandRunner
visible标志是(或可能)导出的吗? -
谢谢@Roland。如果只拒绝文件是一种选择,但里面的数据很关键。走 VBA 路线可能最终是最直接的