Utilizar campos e índices

Cuando se describen, las clases de entidad y las tablas tienen una propiedad fields que devuelve una lista de objetos de Field, y una propiedad indexes que devuelve una lista de objetos de Index. Cada objeto de campo o de índice tiene varias propiedades que se pueden utilizar para explorar el objeto. Como alternativa, las funciones ListFields y ListIndexes se pueden usar para crear las mismas listas.

ListFields(dataset, wild_card, field_type)

Devuelve una lista de los campos que se encuentran en el valor de entrada

ListIndexes(dataset, wild_card)

Devuelve una lista de los índices de atributos que se encuentran en el valor de entrada

Funciones de lista

En el siguiente ejemplo se muestra cómo crear una lista de campos y recorrer su contenido para encontrar un campo concreto.

import arcpy
fc = 'D:/St_Johns/data.gdb/roads'
# Get a list of field objects
fields = arcpy.ListFields(fc, 'Flag')
for field in fields:
    # Check the field name, perform a calculation when finding the field 'Flag'
    if field.name == 'Flag':
        # Set the value for the field and exit loop
        arcpy.CalculateField_management(fc, 'Flag', '1')
        break

A continuación se muestran las propiedades de los objetos de campo y de índice:

PropiedadExplicación

name

El nombre del campo.

aliasName

El nombre del alias del campo.

domain

El nombre del dominio asociado.

editable

True, si el campo es editable.

isNullable

True, si el campo puede contener valores nulos.

required

True, si el campo es obligatorio.

length

La longitud del campo.

type

SmallInteger, Integer, Single, Double, String, Date, OID, Geometry, BLOB.

scale

La escala del campo.

precision

La precisión del campo.

Propiedades del campo

PropiedadExplicación

name

El nombre del índice.

isAscending

True, si el índice se ordena de manera ascendente.

isUnique

True, si el índice es único.

fields

Una lista de objetos Field. Es igual que utilizar la propiedad Describe fields.

Propiedades de índice

Sugerencia:

ListFields y ListIndexes se pueden usar para limitar los resultados en función del nombre y el tipo.