Soy nuevo en Python, así que perdón por una pregunta tan trivial. Hay un shapefile (llamémoslo Structures.shp) y el script que estoy escribiendo necesita actualizar el valor de un solo registro en un solo campo (llamémosle campo structuretype). El campo es el campo subtipo y el valor por defecto es (por ejemplo) 3, pero el script necesita cambiar el valor de este registro en particular a 4. ¿Cuál es la forma más fácil para que el script actualice el valor de esta única celda?
Respuestas
¿Demasiados anuncios?Esto debería hacerlo y es un poco más simple que los ejemplos en el Ayuda en línea para UpdateCursor que, sin embargo, merece la pena leer.
He supuesto que tu shapefile está en una carpeta llamada C:\temp y que structuretype es un campo entero. Si se trata de un campo de texto, utilice "3" y "4" en lugar de 3 y 4.
import arcpy
features = arcpy.UpdateCursor(r"C:\temp\Structures.shp")
for feature in features:
if feature.structuretype == 3:
feature.structuretype = 4
features.updateRow(feature)
del feature,features
Advertencia : La forma en que estoy haciendo referencia a los valores de campo aquí sólo funciona para los cursores de estilo antiguo y no para los cursores superiores y más rápidos del módulo de Acceso a Datos (arcpy.da), que se introdujo con ArcGIS 10.1.