在 openpyxl 中用有效数字读取 excel 的单元格

Read the cells of excel with valid numbers in openpyxl

我正在通过 python - openpyxl 库解析一些 Excel 文件。

我的objective是读取放在某个单词或字母下的单元格,比如N。 因此,一旦找到 N,代码应移至下方的单元格,如果它包含有效数字,则将其放入列表中,否则会中断阅读。 我在定义正确条件时遇到问题。

for col_cells in sheet.iter_cols(min_col=2, max_col=2):

        for cell in col_cells:

            if cell.value == "N":

                print (cell)

               

                print ("N is Found")

                break

 

N=[]; i=1; celln=cell    

while celln.value =! 0:

    cellb=cell.row + i

    Nlist. append(sheet[cell.column+str(cellb)].value) 

    i=i+1

    print(i)

    celln=sheet[cell.column+str(cellb)]

您不必中断整个循环,每个 cell 对象都有其坐标,因此您可以使用它们依次抓取下一个单元格。例如:

some_list = []

for col_cells in sheet.iter_cols(min_col=2, max_col=2):
    for cell in col_cells:
        if cell.value == "N":
            try:
                some_list.append(int(sheet['{}{}'.format(cell.column, cell.row+1)].value))

            except ValueError:
                continue

而不是检查它是否是一个有效的数字只是尝试将其更改为 int 并在失败时捕获异常。请记住,在 Python "its Easier to ask for forgiveness than permission" (EAFP).