此内容是否有用?
如何进行改进?
联系我们的支持团队
尝试在字符串字段的 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)
上次修改时间: 5/14/2019
文章 ID: 000014467
软件: ArcMap 10.6.1, 10.6