CÓMO
Una tabla de atributos puede contener varios campos con valores nulos y, de forma predeterminada, estos campos se rellenan con un espacio vacío. En algunos casos, algunas herramientas o funciones no se ejecutan si los campos no se rellenan con caracteres (campos no anulables).
Este artículo describe dos formas de reemplazar valores nulos en una tabla de atributos; reemplazando los valores nulos en la tabla de atributos o reemplazando los valores nulos en una única columna (campo).
Reemplazar los valores nulos de una tabla de atributos mediante el módulo ArcPy
Nota: El siguiente script se puede utilizar en la consola de Python de ArcMap o como un script independiente.
import arcpy
path = r'C:\Users\User\Test\Misc\Test.gdb\Testing'
fieldObs = arcpy.ListFields(path) fieldNames = []
for field in fieldObs: fieldNames.append(field.name) del fieldObs fieldCount = len(fieldNames)
with arcpy.da.UpdateCursor(path, fieldNames) as curU: for row in curU: rowU = row for field in range(fieldCount): if rowU[field] == None: rowU[field] = "0" curU.updateRow(rowU)
del curU
A continuación, se muestra el script completo:
import arcpy path = r'C:\Users\User\Desktop\Misc\Piracy.gdb\Continents' fieldObs = arcpy.ListFields(path) fieldNames = [] for field in fieldObs: fieldNames.append(field.name) del fieldObs fieldCount = len(fieldNames) with arcpy.da.UpdateCursor(path, fieldNames) as curU: for row in curU: rowU = row for field in range(fieldCount): if rowU[field] == None: rowU[field] = "0" curU.updateRow(rowU) del curU
Reemplazar los valores nulos de un único campo mediante la Calculadora de campo y el analizador de Python
def updateValue(value): if value == None: return '0' else: return value
updateValue(!Field_Name!)
Obtener ayuda de expertos en ArcGIS
Descargar la aplicación de soporte de Esri