【问题标题】:Break not working as expected inside python if statement for empty cells在 python if 语句中,Break 无法按预期工作,用于空单元格
【发布时间】:2019-07-29 03:34:55
【问题描述】:

无法弄清楚为什么下面的中断不起作用: 使用 openpyxl 加载已经存在的 excel 文件。

我尝试在中断之前打印值,它确实打印了空的行值。这确认内部循环被执行了。

def x(ws):
    for row in ws.iter_rows(min_row=11,max_row=50,min_col=4,max_col=4):
            for cell in row:
                if cell.value is None:
                    next_index=int(cell.row)
                    break

    print('The return is: ')
    print(next_index)


    return next_index

我想要的只是退出循环,该范围内的第一个单元格为空,而是获得最后一行,即 50 返回,其中预期返回为 11。

【问题讨论】:

    标签: python excel loops openpyxl break


    【解决方案1】:

    您的break 语句只会跳出内部for 循环。这是另一个相关的 stackoverflow 问题:How to break out of multiple loops in Python?

    正如那里所建议的那样,您可以只从内部 for 循环中 return next_index 而不是尝试跳出两个循环以返回适当的值。

    【讨论】:

    • 哦!是的,由于多个循环,它会在整个范围内循环......感谢返回是最简单的修复方法,也是我需要的:) 干杯
    猜你喜欢
    • 2011-11-29
    • 2013-12-08
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 2016-05-15
    • 2020-11-28
    • 1970-01-01
    • 2022-11-26
    相关资源
    最近更新 更多