使用enumerate和openpyxl在Python中循环遍历列表
这里有新的Python转换。简单地说,尝试使用openpyxl在Python中循环遍历列表。当然,我的列表有大约100项,我的代码有更多的条件使用enumerate和openpyxl在Python中循环遍历列表,python,loops,enums,openpyxl,Python,Loops,Enums,Openpyxl,这里有新的Python转换。简单地说,尝试使用openpyxl在Python中循环遍历列表。当然,我的列表有大约100项,我的代码有更多的条件 lst = ['1','2','a','a12'] for value in enumerate(lst): row = ws1.iter_rows(min_row=value,max_row=value) 当我尝试不使用enumerateI get error时,“必须是str,而不是int”,当我尝试使用enumerateI get er
lst = ['1','2','a','a12']
for value in enumerate(lst):
row = ws1.iter_rows(min_row=value,max_row=value)
当我尝试不使用enumerate
I get error时,“必须是str,而不是int”,当我尝试使用enumerate
I get error”时,“只能将元组(而不是“int”)连接到元组”
我相信这与minu_row
和max_row
需要int
有关,但即使这样,我也得到了“'int'对象不适合”。此外,还尝试将值设置为str()
和int()
非常感谢您提供的任何建议。当您使用
枚举
包装iterable时,您会得到两个值:
- 枚举指数
- 该索引处iterable的值
enumerate()
发出。但是,您只标识一个变量名,因此
value
包含整个元组,i、 e.
值=(i,当前值)
相反,请尝试:
lst = ['1','2','a','a12']
for i, value in enumerate(lst):
# i is the enumeration index
# value is the entry in list
...
很好,我用“I”替换“value”表示“min\u row”和“max\u row”是的。但是,如果您只需要
i
,只需对范围内的i使用(len(lst)):…
提示:不要将enumerate
与ws.iter\u rows()
相结合,您几乎肯定不需要这样做zip(lst,行)
可能就是您想要的。