什么是TypeError: 'NoneType'对象是不可迭代的意思?例子:

for row in data:  # Gives TypeError!
    print(row)

当前回答

我在数据库里对熊猫犯了这个错误。

此错误的解决方案是在集群中安装库 在这里输入图像描述

其他回答

这也取决于你使用的Python版本。看到python 3.6和python 3.8中抛出的不同错误消息,如下所示,这是我的情况下的问题

Python 3.6

(a,b) =无 回溯(最近一次调用): 文件“<stdin>”,第1行,在<模块> 'NoneType'对象不可迭代

Python 3.8

(a,b) =无 回溯(最近一次调用): 文件“<stdin>”,第1行,在<模块> TypeError:不能解包不可迭代的NoneType对象

表示data的值为None。

你用这样的参数调用write_file:

write_file(foo, bar)

但是你没有正确地定义'foo',或者你在你的代码中有一个拼写错误,所以它创建了一个新的空变量并传入它。

这意味着data的值为None。

它意味着data为None,这不是一个可迭代对象。添加or[]*可以防止异常并且不打印任何东西:

for row in data or []:  # no more TypeError!
    print(row)

*归功于先前的一些评论;请注意,引发异常也可能是一种预期的行为和/或数据设置不当的指示。