所以基本上我写了一些代码来交叉检查我的数据是否一致。 我已经写了下面的代码,但是它显示了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)
在本例中,'Cursor'变量为None您可以在循环中使用它之前打印它来检查它。在
当循环尝试在None上迭代时,将引发显示的错误。在
更新:
在这种情况下,我认为学校是没有的,上面的推理是成立的。在提出这样的问题时,请包括完整的错误信息。在
啊。对于您的一个数据记录,您必须得到一个
None
作为school
的值。TypeError
正被in
运算符抛出,该运算符需要一个序列类型作为第二个操作数。None
不是序列类型-它是None
;-)尝试添加
print(sex, school)
作为checkdata()
的第一行,以确认参数是您所期望的。在相关问题 更多 >
编程相关推荐