首页 > 解决方案 > 如何使用循环遍历openpyxl中的单元格

问题描述

我正在学习 openpyxl,我想创建一个包含 2 个单元格、值 1 和 2 的工作表,找到它们的总和,然后将总和与前一个数字相加,依此类推(我认为它可能被称为高斯求和)。

ws["A1"] = 1
ws["A2"] = 2

for row in ws.iter_rows(min_col=1,max_col=1,min_row=1,max_row=10):
  for cell in row:
    iteration = 1
    value_1 = 1
    value_2 = 2
    if value_1 == 1 and value_2 == 2:
        value_3 = ws.cell(row = iteration, column=1, value= value_1).value + ws.cell(row = iteration + 1, column=1, value= value_2).value
        d = ws.cell(row = iteration + 2, column=1, value= value_3)
    else:
        value_3 = ws.cell(row = iteration, column=1, value= value_1).value + ws.cell(row = iteration + 1, column=1, value= value_2).value
        d = ws.cell(row = iteration + 2, column=1, value= value_3)
        iteration += 2
        value_1 = value_2
        value_2 = value_3`

代码在 A3 中打印 3,但随后停止。我不确定究竟是什么导致了上面代码中的问题,但我希望第一个 if 语句对初始给定值进行求和,然后第二个 if 语句循环遍历连续结果的求和并粘贴它们进入下一个空单元格。

标签: python-3.xopenpyxl

解决方案


iteration,它指定要使用哪一行来计算value3,每次迭代都重置为 1。


推荐阅读