在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单元格的主要内容,如果未能解决你的问题,请参考以下文章
读取 Excel 单元格值而不是计算它的公式 -openpyxl