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

Posted

技术标签:

【中文标题】在openpyxl中读取具有有效数字的excel单元格【英文标题】:Read the cells of excel with valid numbers in openpyxl 【发布时间】: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)]

【问题讨论】:

【参考方案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)。

【讨论】:

以上是关于在openpyxl中读取具有有效数字的excel单元格的主要内容,如果未能解决你的问题,请参考以下文章

python中openpyxl读取或写信excel文件

openpyxl将数字格式设置为单元格但不起作用

使用openpyxl读取excel

读取 Excel 单元格值而不是计算它的公式 -openpyxl

Python + openpyxl 读取测试数据,通过Excel管理我们的测试用例数据

python的openpyxl库怎么读取一行或者一列