在python中使用ESRI的arcpy,我尝试使用arcpy updatecorsor对多个字段的值求和。我正在尝试将“无”项转换为0。但是,我找不到转换“无”项的方法。我什么都愿意
with arcpy.da.UpdateCursor(feature_class, score_fields) as cursor:
for row in cursor:
[0 if x==None else x+4 for x in row]
print row
row[len(score_fields)-1] = sum(row[i] for i in range(len(score_fields)))
cursor.updateRow(row)
退货:
[-4, -4, None, None, -4, None, -4, -4]
有错误:
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
谢谢
您应该通过将列表理解的结果分配给
row
来更新row
:另外,请注意,由于只有一个
None
对象,因此使用is
测试比使用==
更好;更多的Python,更多的表演可以使用if语句筛选列表中的
None
值:相关问题 更多 >
编程相关推荐