Más

¿Pasando el valor de GetParameterAsText a row.getValue ()?

¿Pasando el valor de GetParameterAsText a row.getValue ()?


Estoy tratando de crear una herramienta simple que concatenar valores de dos campos y registrarlos en un campo recién creado, todo dentro de la misma tabla. Esta herramienta debería funcionar con cualquier shapefile, concatenar cualquier tipo de campo y crear un campo (con el nombre elegido por el usuario). Mi problema es cómo pasar el valor de 'new_field_name "a row.getValue () (penúltima fila del código). ¿O alguna otra forma de hacer lo mismo?

import time, arcpy startTime = time.clock () print "Start" shapefile = arcpy.GetParameterAsText (0) field_name_1 = arcpy.GetParameterAsText (1) field_name_2 = arcpy.GetParameterAsText (2) new_field_name = arcpy.GetParathAsText = new_field_name = arcpy.GetParathAsText .GetParameterAsText (4) separator = arcpy.GetParameterAsText (5) arcpy.env.workspace = shapefile arcpy.env.overwriteOutput = True arcpy.AddField_management (shapefile, new_field_name, "Text", "", "", new_field_lecng .UpdateCursor (shapefile) para la fila en cur: row.getValue () = (str (row.getValue (field_name_1)) + separator + str (row.getValue (field_name_2))) cur.updateRow (fila)

Si necesita usar la llanuraUpdateCursor, utilizarvalor ajustadoen lugar degetValue

cur = arcpy.UpdateCursor (shapefile) para la fila en cur: newValue = str (row.getValue (field_name_1)) + separator + str (row.getValue (field_name_2)) row.setValue (new_field_name, newValue) cur.updateRow (fila)

La sintaxis del cursor se vuelve un poco más simple cuando puede usar la da.UpdateCursor:

con arcpy.da.UpdateCursor (shapefile, [field_name_1, field_name_2, new_field_name]) como cursor: para la fila en el cursor: newValue = str (fila [0]) + separador + str (fila [1]) fila [2] = newValue cursor.updateRow (fila)

Pruebe row.setValue para la columna recién agregada en su cursor de actualización.