4 votos

Arcpy.da.UpdateCursor, Error de Secuencia de tamaño debe coincidir con el tamaño de la fila

Estoy tratando de usar un UpdateCursor rellenar un campo, pero sigo recibiendo un error, ¿alguien puede decirme qué estoy haciendo mal? Mi código es el siguiente:

import arcpy

fc= "C:\Users\Keri\Desktop\GEP_690\Project Data\FINAL_PROJECT.gdb\NYC_Demographics_2010"
with arcpy.da.UpdateCursor(fc, ["Total1","White","Pct_White"]) as cursor:
    for field in cursor:
        if field[0]==0:
            field[2]=0
        else:
            field[2] = field[1] / field[0]
        cursor.updateRow([field])
print "Complete."

del row

del cursor

Este es el error que me sale:

Traceback (most recent call last):
  File "C:\Python27\ArcGIS10.2\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 326, in RunScript
    exec codeObject in __main__.__dict__
  File "C:\GEP_662\Lab9.py", line 15, in <module>
    cursor.updateRow([field])
TypeError: sequence size must match size of the row

7voto

Alex Tereshenkov Puntos 13433

El uso de la cursor.updateRow(field) en lugar de cursor.updateRow([field]). Usted debe proporcionar un objeto, no a la lista.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X