Python 从xlsx读取限制为65535行:openpyxl

Python 从xlsx读取限制为65535行:openpyxl,python,django,excel,openpyxl,Python,Django,Excel,Openpyxl,当我从一个包含超过50万条目的xlsx文件中读取时。pyopenxl仅读取65535行 wb = load_workbook(filename=import_file, read_only=True) ws = wb['Sheetname'] rows = ws.rows # yields upto 65K rows 令人困惑的是,我在编写操作中使用了相同的包。我能够在xlsx文件中写入一百万个条目 wb = openpyxl.Workbook() ws = wb.get_active_she

当我从一个包含超过50万条目的xlsx文件中读取时。pyopenxl仅读取65535行

wb = load_workbook(filename=import_file, read_only=True)
ws = wb['Sheetname']
rows = ws.rows # yields upto 65K rows
令人困惑的是,我在编写操作中使用了相同的包。我能够在xlsx文件中写入一百万个条目

wb = openpyxl.Workbook()
ws = wb.get_active_sheet()
ws.cell # Write operations here
wb.save(filename=file_path)

如果我能用同样的软件包来阅读和写作,那就太好了

这是openpyxl的一个已知问题,标记为WONTFIX。你可以阅读更多关于它的内容

开发团队提供了这个问题的解决方案,但提到这是OpenOffice/LibreOffice本身的问题

OpenOffice/LibreOffice中存在一个错误,它创建的工作表的标称尺寸最多为65536行。openpyxl将此信息视为可靠信息(您可以使用ws.max_行进行检查,否则它必须解析整个文件才能找到我们想要避免的大小。您可以使用ws.calculate_维度(force=True)强制重新计算,但最简单的解决方案是使用iter_rows()将max_行设置为100000