使用XLSX2CSV替代pandas read_excel仅读筛选行,如何读取全部行?
解决XLSX2CSV仅读取Excel筛选行的问题
XLSX2CSV默认只会读取Excel工作表中可见的筛选行,但你可以通过修改初始化参数让它读取所有行,包括被筛选隐藏的内容。
核心解决方案
在初始化Xlsx2csv对象时,添加skip_hidden_rows=False参数(该参数默认值为True,会跳过隐藏行),即可强制读取所有行。
修改后的代码
import os from io import StringIO import pandas as pd from openpyxl import load_workbook from xlsx2csv import Xlsx2csv filepath = os.path.join(FolderPath, FileName) a = load_workbook(filepath, read_only=True) def read_excel_file(path: str, sheet_index: int) -> pd.DataFrame: buffer = StringIO() # 添加skip_hidden_rows=False参数,读取所有行 Xlsx2csv(path, outputencoding="utf8", skip_hidden_rows=False).convert(buffer, sheetid=sheet_index) buffer.seek(0) df = pd.read_csv(buffer) return df dfinal = read_excel_file(filepath, a.index(a.get_sheet_by_name('Sheetname')) + 1)
额外说明
如果你的xlsx2csv版本过旧可能没有这个参数,请先更新至最新版本:
pip install --upgrade xlsx2csv
内容的提问来源于stack exchange,提问作者Abhi
相关产品推荐
相关产品推荐

