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
Field ()
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 |
defaultValue (Read and Write) | The default value of the field. | Variant |
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) | Indicates if the field can contain 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 for field values. | Integer |
required (Read and Write) | Indicates if the field is required. A required field cannot be deleted. | Boolean |
scale (Read and Write) | The field's scale. | Integer |
type (Read and Write) | The field type.
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))