gpt4 book ai didi

Python openpyxl : Read only mode returns a different row count

转载 作者:太空宇宙 更新时间:2023-11-03 16:22:34 26 4
gpt4 key购买 nike

我正在使用 openpyxl 处理 xlsx 文件,但是当我以只读模式打开此 xlsx 文件时,我似乎只能访问前 10 行。我没有在所有 xlsx 文件中看到这一点。 xlsx 文件中的数据是否有某些内容会在 read_only 为 True 时提前触发 StopIteration,但在 False 时不会触发 StopIteration?电子表格中的所有数据(理论上)都是统一的纯文本。

这对于 book2 可以按预期工作,但对于 book1 则不然,如下所示。

>>> import openpyxl
>>> a = openpyxl.load_workbook("book1.xlsx", read_only=True)
>>> a.active.max_row
10
>>> a = openpyxl.load_workbook("book1.xlsx", read_only=False)
>>> a.active.max_row
20082

>>> a = openpyxl.load_workbook("book2.xlsx", read_only=True)
>>> a.active.max_row
1069
>>> a = openpyxl.load_workbook("book2.xlsx", read_only=False)
>>> a.active.max_row
1069

最佳答案

set ws.max_row = ws.max_column = None 将解决您的问题引用文档:

只读模式依赖于创建文件的应用程序和库,提供有关工作表的正确信息,特别是工作表的已使用部分(称为维度)。

某些应用程序设置不正确。您可以使用 ws.calculate_dimension() 检查工作表的外观尺寸。

如果这返回一个您知道不正确的范围,例如A1:A1,那么只需重置max_rowmax_column属性就可以了使用该文件:

ws.max_row = ws.max_column = None

关于Python openpyxl : Read only mode returns a different row count,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38285364/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com