Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带循环的Openpyxl iter_行(最小行、最大行)_Python_Excel_Loops_Row_Openpyxl - Fatal编程技术网

Python 带循环的Openpyxl iter_行(最小行、最大行)

Python 带循环的Openpyxl iter_行(最小行、最大行),python,excel,loops,row,openpyxl,Python,Excel,Loops,Row,Openpyxl,为什么iter_行总是说必须是str,而不是int?我只是尝试将我的lst值传递给min_行和max_行 我曾尝试将发现的想法转换为iter_rows min_row max_row,但我只得到了相同的错误,并且工作表对象没有属性 回溯误差为 line 509, in iter_rows max_row += row_offset iter_rows方法要求min_row和max_row输入参数为整数。所以试试这个: from openpyxl import load_workbook

为什么iter_行总是说必须是str,而不是int?我只是尝试将我的lst值传递给min_行和max_行

我曾尝试将发现的想法转换为iter_rows min_row max_row,但我只得到了相同的错误,并且工作表对象没有属性

回溯误差为

 line 509, in iter_rows
 max_row += row_offset
iter_rows方法要求min_row和max_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)
注意:您可以通过使用命令helpws1.iter_rows或helpopenpyxl.sheet.worksheet.worksheet.iter_rows查询其docstring来获取iter_rows方法的完整使用说明。在docstring中,您可以找到以下说明:

: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

呃,你想在这里做什么?为什么是itertools?添加一个print语句以查看您实际试图传递给ws.iter_rowsI的内容。在前面的语句中添加printi,它将打印2,然后显示相同的回溯错误。我在for语句之后添加printi,它不打印任何内容,并给出相同的回溯错误。我试图以最小行=2,最大行=2结束。printws1.iter_rows给出我希望这更有意义,感谢您的询问。感谢您的帮助,但如果您运行代码,它仍然给出错误必须是str,而不是int。这听起来与文档中提到的相反,但这是解释器抛出的错误。如果你在min_行和max_行中明确地输入一个数字,它会起作用,但是关于使用列表的问题,我遇到了麻烦。我再次测试了这个问题,当我打印I时它起作用了。然而,在我的程序中,尽管尝试了这一点,仍然存在一些问题。我将进一步调查,感谢您对我的问题所作的贡献和帮助。@spacecade错误消息必须是str,而不是int,由iter\u rows方法生成的代码行max\u row+=row\u offset是对row\u offset变量的引用,而不是max\u row变量。基本上,python遇到了麻烦,因为它被迫将整数对象行偏移量添加到字符串对象max行。Python错误处理程序然后假设代码行的目的是执行字符串添加操作,因此出现此错误消息。
: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