Estoy escribiendo un script que recorre varios shapefiles de puntos diferentes, encuentra cuántos se encuentran dentro de un área determinada y escribe el resultado en una tabla de una base de datos de Access. He utilizado un cursor de búsqueda para buscar los nombres de los archivos de puntos, que luego se guardan en una variable. A continuación, me gustaría utilizar esta variable para especificar qué campo actualizar en otra tabla. Este es mi código:
selection = 1
while selection < 3:
rows = arcpy.SearchCursor("C:\\MyDB.mdb\\Source_Class_combinations") #opens search cursor on the info table
for row in rows:
if row.Order == selection:
destfield = row.DestField # extracts the name of the destination field
del row
del rows
print "Defining variables..."
ptfile = str(destfield)+"_lyr"
rowtoud = "row."+str(destfield) #create the variable with the field to update
# Process: Select Layer By Location
print "select by location"
arcpy.SelectLayerByLocation_management(ptfile, "INTERSECT", neighfile, "", "NEW_SELECTION")
count = int(arcpy.GetCount_management(ptfile).getOutput(0))
print "count = " + str(count)
#Update the number of points selected in the neighbourhoods table
print "updating count..."
rows = arcpy.UpdateCursor("C:\\MyDB.mdb\\neighbourhoods")
for row in rows:
if row.StudyID == str(neigh):
rowtoud = count
rows.updateRow(row)
del rows
del row
selection +=1
La selección parece funcionar bien, pero la tabla no se actualiza y no se devuelve ningún mensaje de error. ¿Puedo utilizar una variable como esta?
Estoy usando ArcGIS 10, python 2.6, y Access 2007
Gracias, Flo