在Python中,你可以使用pandas
和openpyxl
库来读取Excel文件中的可见行,同时剔除隐藏行和未筛选行。以下是一个示例代码¹:
import openpyxl
import pandas as pd
import xlrd
from pandas import DataFrame
with pd.ExcelFile(file_path) as xl:
sheets = []
if isinstance(xl.book, openpyxl.workbook.workbook.Workbook):
sheets = xl.book.worksheets
elif isinstance(xl.book, xlrd.book.Book):
sheets = xl.book.sheets()
for sheet in sheets:
if (hasattr(sheet, 'visibility') and sheet.visibility == 0) or ( hasattr(sheet, 'sheet_state') and sheet.sheet_state == 'visible'):
if hasattr(sheet, 'title'):
sheet.name = sheet.title
df: DataFrame = xl.parse(sheet_name=sheet.name)
print(df.head)
这段代码首先打开Excel文件,然后遍历所有的工作表。对于每个工作表,它检查工作表是否可见(即没有被隐藏)。如果工作表可见,它就使用pandas的parse
函数读取该工作表的数据,并打印出前几行。
请注意,你需要根据实际情况修改这段代码,例如替换file_path
为你的Excel文件的路径。¹
源: 与必应的对话, 2023/10/18 (1) python pandas获取可见表(排除隐藏表)(pandas v1.5.0)-CSDN博客. https://blog.csdn.net/qq_40875577/article/details/128907182. (2) Pandas读取某列、某行数据——loc、iloc用法总结 - CSDN博客. https://blog.csdn.net/Bigboss7/article/details/118597351. (3) 使用openpyxl排除Excel隐藏行和列加载数据到Pandas Dataframe. https://devnote.pro/posts/10000064201244. (4) pandas.DataFrame排除特定行 - 东围居士 - 博客园. https://www.cnblogs.com/wuzhiblog/p/python_pandas.html. (5) pandas只读excel可见sheet,不读隐藏sheet - 掘金. https://juejin.cn/post/7039677136927457288.