gpt4 book ai didi

python-3.x - 比较 openpyxl 工作簿

转载 作者:行者123 更新时间:2023-12-02 04:28:37 25 4
gpt4 key购买 nike

当我比较应该相同的 Workbook 对象时,我得到 False 而不是 True。这是一个例子:

$ import openpyxl
$ w1 = openpyxl.load_workbook('Foo.xlsx')
$ w2 = openpyxl.load_workbook('Foo.xlsx')
$ w1 == w2
False

发生什么事了?

额外问题:有没有办法可以比较工作簿? (我正在为操作 Excel 的脚本编写单元测试。)

最佳答案

当您调用“load_workbook”时,它会创建 openpyxl 工作簿对象的新实例。该变量指向内存中存储该对象的位置。

当你使用 python 来比较 w1 和 w2 时,它只能比较对内存位置的引用。在空闲状态下只要输入变量名就可以看到内存地址。

>>> wb1 = load_workbook('master.xlsx')
>>> wb2 = load_workbook('master.xlsx')
>>> wb1 == wb2
False
>>> wb1
<openpyxl.workbook.workbook.Workbook object at 0x03ED3B50>
>>> wb2
<openpyxl.workbook.workbook.Workbook object at 0x04AD7E30>

如果您想验证一个工作簿与另一个工作簿是否相同,您需要编写自己的代码来更深入地了解每个对象。一种方法是使用哈希。 (参见:https://stackoverflow.com/a/16876405/2535649)

关于python-3.x - 比较 openpyxl 工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24930238/

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