带循环的 Openpyxl iter_rows(min_row,max_row)

Openpyxl iter_rows(min_row,max_row) with loop

为什么 iter_rows 总是说 must be str, not int?我只是想将我的 lst 值传递给 min_rowmax_row.

from openpyxl import load_workbook
from itertools import islice

wb = load_workbook('xyz.xlsx')
ws1 = wb['Sheet1']

lst = ['2','2']
limit = 2

for i in islice(lst,limit):
    row = ws1.iter_rows(min_row=i,max_row=i)

我尝试将发现的想法 转换为 iter_rows min_row max_row 但是,我得到了同样的错误并且 Worksheet object has no attribute

引用错误是

 line 509, in iter_rows
 max_row += row_offset

iter_rows 方法要求 min_rowmax_row 输入参数是整数。所以试试这个:

from openpyxl import load_workbook

from itertools import islice

wb = load_workbook('xyz.xlsx')
ws1 = wb['Sheet1']

lst = [2,2]
limit = 2

for i in islice(lst,limit):
    row = ws1.iter_rows(min_row=i,max_row=i)

注意:您可以通过help(ws1.iter_rows)help(openpyxl.worksheet.worksheet.Worksheet.iter_rows)命令查询其文档字符串来获取iter_rows方法的完整使用说明。在文档字符串中,您可以找到说明:

:param min_row: smallest row index (1-based index)
:type min_row: int

:param max_row: smallest row index (1-based index)
:type max_row: int