6 votos

¿El orden de la columna devuelto por arcpy.ListFields () siempre es el mismo?

Estoy usando arcpy.ListFields() para obtener una lista de los campos en mi Clase de entidad. Basado en mi limitada de prueba de varias geodatabases y tablas, el orden de los campos devueltos es el campo en el orden especificado en la base de datos.

Puedo depender de ListFields() para devolver los campos en el mismo orden y por lo tanto el uso de un campo de posición en la lista para siempre obtienen el mismo campo? Por ejemplo, si el tercer campo es el "Nombre", puedo usar los campos[2] para obtener de manera fiable el campo "Nombre"? O, ¿es sólo una coincidencia que ha estado trabajando hasta el momento?

La ayuda de la página no abordar esta cuestión.

2voto

Aaron Puntos 25882

Sí, ListFields devolverá los campos en el mismo orden. En este ejemplo, se realizan 10 iteraciones de ListFields. En la clase de entidad de ejemplo, agregué los campos A - H en orden.

 import arcpy, os

fc = r'C:\test\myGDB.gdb\test'

for item in range(1,10):
    fields = [f.name for f in arcpy.ListFields(fc)]
    print fields
 

Introduzca aquí la descripción de la imagen

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