Esta es la mitad inferior de mi código (y ha sido editado un poco para compartirlo públicamente). El código funciona perfectamente bien cuando el fieldList
sólo tiene tres campos, pero cuando lo relleno con los 108 campos, recibo el siguiente error, justo antes de que empiece a calcular los campos:
Traceback (most recent call last):
File "C:\GIS\1GIS_DATA\Folder1\Folder2\Python and Tools\RunThisPythonCode.py", line 125, in <module>
value = row.getValue(field)* row.anotherField #<--This is the line the error is referring to
File "C:\Program Files\ArcGIS\Desktop10.0\arcpy\arcpy\arcobjects\arcobjects.py", line 944, in getValue
return convertArcObjectToPythonObject(self._arc_object.GetValue(*gp_fixargs(args)))
RuntimeError: ERROR 999999: Error executing function.
Aquí está el código:
....
fc = arcpy.CopyFeatures_management(layerName, outFeatures)
#---------------------------------------------
# Add fields to a feature class:
#---------------------------------------------
fieldList = ["field1", "field2", "field3", ............., "field99"] #<-- fieldList
fieldListx = []
for f in fieldList:
fieldx = f+"x"
arcpy.AddField_management(fc, fieldx, "DOUBLE")
fieldListx.append(fieldx)
#---------------------------------------------
# Calculate fields:
#---------------------------------------------
rows = arcpy.UpdateCursor(fc)
for row in rows:
for fieldx in fieldListx:
field = fieldx.rstrip('x')
value = row.getValue(field)* row.anotherField #<--This is the line the error is referring to
row.setValue(fieldx,value)
rows.updateRow(row)
del row, rows
¿Es un problema de memoria o algo así? ¿Por qué se produce un error antes de Calcular campos cuando añado la lista completa de 108 campos, pero no cuando ejecuto una pequeña muestra de sólo 3? Gracias.