8 votos

Llegar único valor de la segunda campo a través de arcpy.da.SearchCursor?

Tengo una clase de entidad y el uso de arcpy.da.SearchCursor estoy obteniendo valores únicos de un campo (por ejemplo, Nombre). ¿Cómo puedo utilizar este método para obtener la fila asociada valor de un campo diferente (diff campo = Nombre2)?

Hasta ahora la uso para obtener valores únicos en un sólo campo de Nombre de:

values = [row[0] for row in arcpy.da.SearchCursor(fc, ("Name"))]
    uniqueValues = set(values)
    for value in uniqueValues:  

Cuando se busca a través de la clase de entidad de ¿cómo puedo obtener también el valor de otro campo, el campo Nombre2?

8voto

Paul Puntos 555

Diccionario de la comprensión:

{row[0]: row[1] for row in arcpy.da.SearchCursor(fc, ("Name", "Name2"))}

Nota sólo se tiene UN valor por Nombre único valor de la columna. También puede utilizar las colecciones para obtener una lista de Nombre2 valores:

import collections
names = collections.defaultdict(list)

for name1, name2 in arcpy.da.SearchCursor(fc, ("Name", "Name2")):
    names[name1].append(name2)

2voto

skamradt Puntos 13049

El archivo de ayuda en SearchCursor (arcpy.da) tiene ejemplos de Código en la parte inferior. La primera SearchCursor ejemplo 1 muestra cómo agarrar una lista de campos. Asignar la fila[0] y fila[1] los nombres de las variables a utilizar en el código.

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