Как перебирать ячейки в openpyxl используя циклы - PullRequest
1 голос
/ 28 апреля 2019

Я изучаю 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`

Код печатает 3 в A3, но затем останавливается. Я не уверен, что именно является причиной проблемы в приведенном выше коде, но я ожидал, что первый оператор if выполнит суммирование начальных заданных значений, а затем второй оператор if выполнит цикл суммирования последовательных результатов и вставит их в следующие пустые клетки.

1 Ответ

0 голосов
/ 28 апреля 2019

iteration, который указывает, какую строку использовать для вычисления value3, сбрасывается в 1 на каждой итерации.

...