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

Field ()

Properties

PropertyExplanationData 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.

  • BlobBlob
  • DateDate
  • DoubleDouble
  • GeometryGeometry
  • GuidGuid
  • IntegerInteger (Long Integer)
  • OIDObject ID
  • RasterRaster
  • SingleSingle (Float)
  • SmallIntegerSmall Integer (Short Integer)
  • StringString (Text)

Learn more about ArcGIS field data types

NoteNote:

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

Field example

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))

Related Topics

3/3/2014