Utilisation de champs et d'index

Lorsqu’elles sont décrites, les tables et les classes d’entités ont une propriété fields qui renvoie une liste d’objets Field, ainsi qu’une propriété indexes qui renvoie une liste d’objets Index. Chaque objet champ ou index dispose de plusieurs propriétés pouvant être utilisées pour explorer l’objet. Les fonctions ListFields et ListIndexes permettent également de créer les mêmes listes.

ListFields(dataset, wild_card, field_type)

Retourne la liste des champs trouvés dans la valeur en entrée

ListIndexes(dataset, wild_card)

Retourne la liste des index attributaires trouvés dans la valeur en entrée

Fonctions de liste

L'exemple suivant montre comment créer une liste de champ et parcourir son contenu à la recherche d'un champ spécifique.

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

Les propriétés des objets champ et index sont répertoriées ci-dessous :

PropriétéExplication

name

Nom du champ.

aliasName

Nom d'alias du champ.

domain

Nom du domaine associé.

editable

True, si le champ est modifiable.

isNullable

True, si le champ accepte les valeurs nulles.

required

True, si champ est obligatoire.

length

Longueur du champ.

type

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

scale

Echelle du champ.

precision

Précision du champ.

Propriétés du champ

PropriétéExplication

name

Nom de l'index.

isAscending

True, si l’index est trié par ordre croissant.

isUnique

True, si l’index est unique.

fields

Liste d’objets Field. Cela équivaut à utiliser la propriété Describe fields.

Propriétés de l'index

Astuce :

Les méthodes ListFields et ListIndexes permettent de limiter les résultats en fonction d’un nom et d’un type.