Field (arcpy)
Summary
The field object represents a column in a table. A field has many properties, the most obvious ones being its name and its type.
Discussion
Field properties can be accessed through the ListFields and Describe functions.
Updating a field property only updates the field object, no changes are made to the actual field in the table or feature class.
Syntax
Properties
Property | Explanation | Data Type |
aliasName (Read and Write) |
The alias name of the field. | String |
baseName (Read and Write) |
The unqualified field name. | String |
domain (Read and Write) |
The name of the associated domain. | String |
editable (Read and Write) |
The editable state: True if the field is editable. | Boolean |
isNullable (Read and Write) |
The nullable state: True if the field allows null values. | Boolean |
length (Read and Write) |
The field's length. | Integer |
name (Read and Write) |
The name of the field. | String |
precision (Read and Write) |
The precision of the field. | Integer |
required (Read and Write) |
The required state: True if the field must contain a value. | Boolean |
scale (Read and Write) |
The field's scale. | Integer |
type (Read and Write) |
The field type.
Learn more about ArcGIS field data types Note: The field object's type property does not match completely with the choices listed for the Add Field tool's field_type parameter. To allow the Add Field tool to use all type keywords, field types are mapped: Integer to LONG, String to TEXT, and SmallInteger to SHORT. | String |
Code Sample
Display field properties for the specified feature class.
import arcpy
feature_class = "c:/data/counties.shp"
# Create a list of fields using the ListFields function
fields = arcpy.ListFields(feature_class)
# Iterate through the list of fields
for field in fields:
# Print field properties
print("Field: {0}".format(field.name))
print("Alias: {0}".format(field.aliasName))
print("Type: {0}".format(field.type))
print("Is Editable: {0}".format(field.editable))
print("Required: {0}".format(field.required))
print("Scale: {0}".format(field.scale))
print("Precision: {0}".format(field.precision))