ERROR
Al intentar utilizar la función replace() en un script de Python en un campo de cadena de caracteres, se produce un fallo y aparece el siguiente error:
Error: El objeto 'NoneType' no tiene el atributo 'replace'
El error se produce cuando hay valores nulos en el campo seleccionado. La siguiente imagen muestra una tabla de atributos con un campo que contiene valores nulos.
import arcpy cursor = arcpy.da.UpdateCursor ("[Feature]", "[Field Name]" for row in cursor: row[0] = row[0].replace("%20", " ") cursor.updateRow(row)
Utilice la cláusula de selección para evitar la ejecución de la función replace() en los valores nulos del campo. La siguiente muestra de código presenta cómo hacerlo:
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)
Obtener ayuda de expertos en ArcGIS
Descargar la aplicación de soporte de Esri