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) | Specifies whether the field is editable. | Boolean |
isNullable (Read and Write) | Specifies whether the field can contain null values. | Boolean |
length (Read and Write) | The length of the field. | Integer |
name (Read and Write) | The name of the field. | String |
precision (Read and Write) | The precision for field values. For fields of type Date, the precision can be either 0 or 1.
| Integer |
required (Read and Write) | Specifies whether the field is required. A required field cannot be deleted. | Boolean |
scale (Read and Write) | The scale of the field. | Integer |
type (Read and Write) | Specifies the field type.
Note:The Field object's type property values are not an exact match for the keywords used by the Add Field tool's field_type parameter. Despite this, all of the Field object's type values are acceptable values as input to this parameter. The different field types are mapped as follows:
| 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))