数据一致性检查:TypeError:类型为'NoneType'的参数不可迭代

2024-04-23 16:01:14 发布

您现在位置:Python中文网/ 问答频道 /正文

所以基本上我写了一些代码来交叉检查我的数据是否一致。 我已经写了下面的代码,但是它显示了TypeError:类型为'NoneType'的参数是不可编辑的,我尝试过多次更改代码,但仍然出现相同的错误。非常感谢。在

def checkdata(sex,school):
    if (sex == 'F') and ('boys school' in school) :
        return 'inconsistent'
    if (sex == 'M') and ('girls school' in school):
        return 'inconsistent'
    return


def Dif() :
    with arcpy.da.UpdateCursor(DATA_SET,
        [sex, school]) as Cursor :
    for Cols in Cursor :

            Data = checkdata(Cols[0], Cols[1])
            if Data is not None:
                print (Data, " ",Cols)

Tags: and数据代码indatareturnifdef
2条回答

在本例中,'Cursor'变量为None您可以在循环中使用它之前打印它来检查它。在

当循环尝试在None上迭代时,将引发显示的错误。在

更新:

在这种情况下,我认为学校是没有的,上面的推理是成立的。在提出这样的问题时,请包括完整的错误信息。在

啊。对于您的一个数据记录,您必须得到一个None作为school的值。TypeError正被in运算符抛出,该运算符需要一个序列类型作为第二个操作数。None不是序列类型-它是None;-)

尝试添加print(sex, school)作为checkdata()的第一行,以确认参数是您所期望的。在

相关问题 更多 >