【问题标题】:Read the cells of excel with valid numbers in openpyxl在openpyxl中读取具有有效数字的excel单元格
【发布时间】:2018-12-10 20:25:58
【问题描述】:

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

我的目标是阅读位于某个单词或字母(如 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)]

【问题讨论】:

    标签: excel openpyxl


    【解决方案1】:

    您不必打破整个循环,每个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 中“请求宽恕比请求许可更容易”(EAFP)。

    【讨论】:

      猜你喜欢
      • 2011-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多