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

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

当前回答

代码:用于数据中的行: TypeError: 'NoneType'对象不可迭代

它在抱怨哪个对象?二选一,行和数据。 在数据中的for行,需要是可迭代的?只有数据。

数据有什么问题?它的类型是NoneType。只有None类型为NoneType。所以data是None。

你可以在IDE中验证这一点,或者在for语句之前插入print "data is", repr(data),然后重新运行。

想想你接下来需要做什么: “无数据”应该如何表示?我们写一个空文件吗?我们是引发异常,还是记录警告,还是保持沉默?

其他回答

这意味着data的值为None。

这意味着数据变量传递的是None(类型为NoneType),它的等效值为空。所以它不能像你尝试的那样,作为一个列表是可迭代的。

代码:用于数据中的行: TypeError: 'NoneType'对象不可迭代

它在抱怨哪个对象?二选一,行和数据。 在数据中的for行,需要是可迭代的?只有数据。

数据有什么问题?它的类型是NoneType。只有None类型为NoneType。所以data是None。

你可以在IDE中验证这一点,或者在for语句之前插入print "data is", repr(data),然后重新运行。

想想你接下来需要做什么: “无数据”应该如何表示?我们写一个空文件吗?我们是引发异常,还是记录警告,还是保持沉默?

当你得到None Exception时,继续循环,

例子:

   a = None
   if a is None:
       continue
   else:
       print("do something")

这可以是来自DB或excel文件的任何可迭代对象。

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

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