Как завершить iter_rows l oop, когда значение ячейки пусто? - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь выполнить итерацию по ячейкам, а затем остановить l oop при попадании в первую пустую ячейку.

Для этой цели я написал l oop:

best_ten = []
for row in sheet.iter_rows(min_row=1, max_col=1, max_row=100):
    for cell in row:
        if cell.value:
            best_ten.append(cell.value)
        else:
            break

Однако пустые ячейки просто пропускаются. Я хочу, чтобы l oop заканчивался при нажатии на первую пустую ячейку.

Как мне этого добиться?

Cheers

1 Ответ

0 голосов
/ 29 января 2020

Если вы используете оператор возврата внутри функции, вы можете разорвать оба цикла:

def find_best_ten():
    best_ten = []
    for row in sheet.iter_rows(min_row=1, max_col=1, max_row=100):
        for cell in row:
            if cell.value:
                best_ten.append(cell.value)
            else:
                return best_ten
    return best_ten
...