如何使用pandas从Excel中只读取可见的工作表

我必须得到一些随机excels表,我只想从这些文件只读可见表

一次考虑一个文件,可以说我有Mapping_Doc.xls,其中包含两个可见的工作表和两个隐藏的工作表。

由于这里的床单较less,所以我可以用这样的名字parsing它们。

代码:

xls = pd.ExcelFile('D:\\ExcelRead\\Mapping_Doc.xls') print xls.sheet_names df1 = xls.parse('Sheet1') #visible sheet df2 = xls.parse('Sheet2') #visible sheet 

输出:

 [u'sheet1',u'sheet2',u'sheet3',u'sheet4'] 

有人可以帮助我只获得可见的床单

提前致谢

Pandas在内部使用xlrd库(如果你感兴趣,可以看看excel.py源代码)。

您可以通过访问每个工作表的visibility属性来确定可见性状态。 根据xlrd源代码中的注释,这些是可能的值:

  • 0 =可见
  • 1 =隐藏(可以被用户隐藏 – 格式 – >表格 – >取消隐藏)
  • 2 =“非常隐藏”(只能通过VBAmacros来隐藏)。

下面是一个用2个工作表读取Excel文件的例子,第一个是可见的,第二个是隐藏的:

 import pandas as pd xls = pd.ExcelFile('test.xlsx') sheets = xls.book.sheets() for sheet in sheets: print(sheet.name, sheet.visibility) 

输出:

 Sheet1 0 Sheet2 1