如何使用循环遍历openpyxl中的单元格

时间:2019-04-27 22:34:20

标签: python-3.x 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语句循环遍历连续结果并粘贴它们进入下一个空单元格。

1 个答案:

答案 0 :(得分:0)

iteration(用于指定用于计算value3的行)在每次迭代中均重置为1。