在 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).
我正在通过 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).