python openpyxl找到某个单元格然后返回下一个非空单元格

时间:2017-11-02 19:19:36

标签: python openpyxl

我正在使用openpyxl来处理这个excel表。一旦我找到包含“必填字段”的单元格,我想继续向下查找该列以找到第一个非空值。

 for row in ws.iter_rows():
        for cell in row[0:4]:
            if cell.value == 'Mandatory Field'
                print (cell.value)      

这是我到目前为止所拥有的。我不知道如何告诉它现在说你已经找到了具有必填字段的单元格。返回你下面不为空的单元格的值。我正在浏览5列,因为我需要做两次。

1 个答案:

答案 0 :(得分:0)

如果您需要在一系列单元格中执行此操作,则应使用" sentinel"标志。

sentinel = False
for row in ws.iter_rows(max_col=5):
    for cell in row:
         if cell.value == "Mandatory Field":
              sentinel = True
         if sentinel = True:
              print(cell.offset(row=1).value)
              sentinel = False

请注意,在示例中,您可以避免使用offset()方法来使用标记,但我将其作为示例包含在内。