Utilizar campos e índices
Cuando se describen, las clases de entidad y las tablas tienen una propiedad fields que devuelve una lista Python de objeto de campos, y una propiedad indexes que devuelve una lista Python de objetos de índice. Cada objeto de campo o de índice tiene varias propiedades que se pueden utilizar para explorar el objeto. También se puede utilizar las funciones ListIndexes y ListFields para crear las mismas listas. 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"
# Describe a feature class
#
desc = arcpy.Describe(fc)
# Get a list of field objects from the describe object
#
fields = desc.fields
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:
Propiedad |
Explicació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. |
Propiedad |
Explicación |
---|---|
Name |
El nombre del índice. |
IsAscending |
True si el índice se ordena en orden ascendente. |
IsUnique |
True si el índice es único. |
Fields |
Lista Python de objetos de campo. Es igual que utilizar la propiedad de campo Describe. |
ListFields y ListIndexes se pueden utilizar para limitar los resultados sobre la base del nombre y el tipo.