I have to get some random Excel sheets where I want to read only visible sheets from those files.
Consider one file at a time, let's say I have Mapping_Doc.xls
which contains 2-visible sheets and 2-hidden sheets.
As the sheets are less here, I can parse them with names like this:
Code :
xls = pd.ExcelFile('D:\\ExcelRead\\Mapping_Doc.xls')
print xls.sheet_names
df1 = xls.parse('Sheet1') #visible sheet
df2 = xls.parse('Sheet2') #visible sheet
Output:
[u'sheet1',u'sheet2',u'sheet3',u'sheet4']
How can I get only the visible sheets?
To read an excel file as a DataFrame, use the pandas read_excel() method. You can read the first sheet, specific sheets, multiple sheets or all sheets. Pandas converts this to the DataFrame structure, which is a tabular like structure.
The worksheet object's hide() method makes the worksheet disappear till it is unhidden through Excel menu.
pandas. read_excel() function is used to read excel sheet with extension xlsx into pandas DataFrame. By reading a single sheet it returns a pandas DataFrame object, but reading two sheets it returns a Dict of DataFrame. Can load excel files stored in a local filesystem or from an URL.
Pandas uses the xlrd
library internally (have a look at the excel.py source code if you're interested).
You can determine the visibility status by accessing each sheet's visibility
attribute. According to the comments in the xlrd source code, these are the possible values:
Here's an example that reads an Excel file with 2 worksheets, the first one visible and the second one hidden:
import pandas as pd
xls = pd.ExcelFile('test.xlsx')
sheets = xls.book.sheets()
for sheet in sheets:
print(sheet.name, sheet.visibility)
Output:
Sheet1 0
Sheet2 1
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With