我一直得到错误消息:太多的值要解包(预期2)当我尝试以下代码:
sheetlist = [df1, df2, df3, df4, df5]
for i, j in sheetlist :
j = i +1
final = i.merge(j, how = "outer", on = "columnname")
final.head()
谁知道怎么解决这个问题?
这是完整的Traceback
ValueError Traceback (most recent call last)
<ipython-input-54-981bc6246be4> in <module>()
3 sheetlist = [df1, df2, df3, df4, df5]
4
----> 5 for i,j in sheetlist :
6 j = i + 1
7 final = i.merge(j, how = "outer", on = "columnname")
ValueError: too many values to unpack (expected 2)
错误在这里:
for i, j in sheetlist :
出现错误是因为您试图从一个列表中解包两个值,该列表期望一个接一个地给出。
对于初学者,您需要for i in sheetlist
,如@not_speshal所述。此外,请注意python中的for
与许多其他语言没有什么不同,它将枚举项在列表内,而不是索引。
for i in range(len(sheetlist))
,现在i
确实是有效的索引。要访问列表中索引为i
的元素,请使用sheetlist[i]
。