![](/img/trans.png)
[英]openpyxl IF Formula and iterating over multiple rows until you reach an empty row
[英]OpenPyXL traverses rows until find an empty row
有一個a.xlsx
文件,92427 行(不包括標題)。 我打開a.xlsx
,手動刪除許多行(保留前 27 行)並另存為a_sample.xlsx
作為示例輸入。
我使用以下代碼從a_sample.xlsx
讀取數據。
from openpyxl import load_workbook
wb = load_workbook(file_workbook, read_only=True)
ws = wb.sheetnames[0] # wb.get_sheet_by_name(wb.get_sheet_names()[0])
for idx, row in enumerate(ws.iter_rows(row_offset=1)): # row_offset=1, skip the header
print(idx)
輸出的最后一行是92426
,而不是26
。 可能的原因是什么?
我讓 OpenPyXL 遍歷以空行結尾的行:
for idx, row in enumerate(ws.iter_rows(row_offset=1)):
if row[0].value is None:
break
某處可能有非空單元格。 請查看ws.max_row
和ws.max_column
,然后手動檢查文件中的單元格[ws.max_row, ws.max_column]
。
如前所述,沒有關鍵字row_offset
,但您可以使用類似
for idx, row in enumerate(ws.iter_rows(min_row=1, max_col=3, max_row=20)):
其中max_row <= ws.max_column
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.