gpt4 book ai didi

python - 使用 Python 将公式写入 Excel

转载 作者:太空狗 更新时间:2023-10-29 22:21:24 27 4
gpt4 key购买 nike

我正在集思广益如何最好地解决以下问题。非常感谢任何输入。

示例 Excel 工作表列:

Column A  |  Column B  | Column C
Apple | Apple |
Orange | Orange |
Pear | Banana |

我想让 Excel 告诉我 A 列和 B 列中的项目是匹配还是不匹配,并在 C 列中显示结果。我在 C 列中输入的公式是 =IF(A1=B1, "Match", "不匹配")

在 excel 上,我只需将公式拖到 C 列中的其余单元格以将公式应用于它们,结果将是:

Column A  |  Column B  | Column C
Apple | Apple | Match
Orange | Orange | Match
Pear | Banana | Mismatch

为了使用 python 脚本自动执行此操作,我尝试了:

import openpyxl
wb = openpyxl.load_workbook('test.xlsx')
Sheet = wb.get_sheet_by_name('Sheet1')
for cellObj in Sheet.columns[2]:
cellObj.value = '=IF($A$1=$B$1, "Match", "Mismatch")
wb.save('test.xlsx')

这将公式写入 C 列中的所有单元格,但是公式仅引用单元格 A1 和 B1,因此导致 C 列中的所有单元格 = 匹配。

Column A  |  Column B  | Column C
Apple | Apple | Match
Orange | Orange | Match
Pear | Banana | Match

你会如何处理?

最佳答案

您可能希望动态创建公式,以便 C 的每一行都取自 AB 的相应行:

for i, cellObj in enumerate(Sheet.columns[2], 1):
cellObj.value = '=IF($A${0}=$B${0}, "Match", "Mismatch")'.format(i)

关于python - 使用 Python 将公式写入 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39195957/

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