错误
尝试在字符串字段的 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)
获取来自 ArcGIS 专家的帮助
下载 Esri 支持应用程序