错误
尝试在字符串字段的 Python 脚本中使用 replace() 函数失败,并返回以下错误:
错误:‘NoneType’对象没有‘replace’属性

当选定的 字段中存在空值时会发生此错误。 下图显示了一个属性表,其中的字段包含空值。

import arcpy
cursor = arcpy.da.UpdateCursor ("[Feature]", "[Field Name]"
for row in cursor:
row[0] = row[0].replace("%20", " ")
cursor.updateRow(row)
使用选择子句可以避免对字段中的空值执行 replace() 函数。 以下代码示例显示了执行此操作的方法:
import arcpy
cursor = arcpy.da.UpdateCursor("[Feature]", "[Field Name]")
for row in cursor:
if row[0] == None:
row[0] = row[0]
else:
row[0] = row[0].replace("%20", " ")
cursor.updateRow (row)

文章 ID: 000014467
获取来自 ArcGIS 专家的帮助
立即开始聊天