Más

¿Calculando una celda de la tabla dbf a otra celda en la misma tabla usando ArcPy?

¿Calculando una celda de la tabla dbf a otra celda en la misma tabla usando ArcPy?


  • Soy absolutamente nuevo en la programación de Python para ArcGIS. ¿Cómo calculo una celda de un campo en la tabla DBF a otra celda en otro campo en la misma tabla?

Esto es lo que tengo que no funciona:

import arcpy cursor = arcpy.da.SearchCursor ("S2_merge1", ["Name1"]) cursor1 = arcpy.da.UpdateCursor ("S2_merge1", ["Name5"]) para la fila en el cursor1: fila [1] = cursor cursor1 .updateRow ([fila])

Estás en el camino correcto usando unUpdateCursor. Sin embargo, tanto el campo de origen como el de destino deben en el mismo cursor -cursor1no puedo vercursor.

Mantenga ambos campos dentro del mismo cursor.

cursor = arcpy.da.UpdateCursor ("S2_merge1", ["Nombre1", "Nombre5"]) para la fila en el cursor: fila [1] = fila [0] cursor.updateRow (fila)

También tenga en cuenta que el índice de una lista comienza en 0, no en 1. En la lista de campos que se usa encursor,Nombre1es el primero en la posición0, yNombre5es segundo en la posición1. Puede que sea consciente de esto, pero quería dejarlo en claro en función del código utilizado en su pregunta :)


Tenga en cuenta que esto se actualizará todas las filas de la tablaS2_merge1. Si quieres actualizar solo una fila (o subconjunto de filas), debe incluir undónde cláusulaal definir el cursor. Esta debería ser una consulta de definición SQL familiar ...

cursor = arcpy.da.UpdateCursor ("S2_merge1", ["Nombre1", "Nombre5"], 'FID = 1')