提问人:Frane 提问时间:9/18/2022 最后编辑:Peter MortensenFrane 更新时间:11/10/2022 访问量:140
Python/Openpyxl - 比较 Excel 中的单元格与差异格式(文本与数字)
Python/Openpyxl - comparing cells in Excel with diff format (text vs number)
问:
我想使用 Python/openpyxl 比较 Excel 中的两个单元格。我使用下面的简单公式。
x=1
print(ws.max_column,ws.max_row)
for i in range(1,ws.max_column):
for j in range(3,ws.max_row+1):
y=x+1
if ws.cell(j,x).value != ws.cell(j,y).value:
print("Errors found: ")
print(ws.cell(j,x), ws.cell(j,x).value, ws.cell(j,y).value)
print(ws.cell(j,x).style)
print(ws.cell(j,y).style)
x+=2
问题是我得到的打印结果:
Errors found:
<Cell 'Sheet1'.S228> None
Normal
Normal
我找不到当Excel中的两个单元格都为空时报告差异的原因。
答:
0赞
Frane
9/19/2022
#1
三心二意的解决方案 - 友情链接:
我使用了kutools并使用了“到实际”功能,该功能使所有空白但不是空白单元格都变成了空白单元格。
一个完整的答案是找到一种方法来对 openpyxl 做同样的事情。
评论
0赞
moken
9/19/2022
在不确定受影响的空白单元格的状态是什么的情况下,检测单元格的建议只是一个猜测,但是我希望至少在所有情况下,值 len(cell.value) 的长度为零。因此,如果单元格满足该条件,则可以将其设置为 None,cell.value = None。
0赞
Frane
9/20/2022
@moken是的,你是对的。所有这些的 LEN 值均为 0。将尝试使用该选项。谢谢
评论