ListFields

Summary

Returns a list of fields in a feature class, shapefile, or table in a specified dataset. The returned list can be limited with search criteria for name and field type and will contain Field objects.

Syntax

ListFields (dataset, {wild_card}, {field_type})
ParameterExplanationData Type
dataset

The specified feature class or table with the fields to be returned.

String
wild_card

Limits the results returned. If a value is not specified, all values are returned. The wildcard is not case sensitive.

SymbolDescriptionExample

*

Represents zero or more characters.

Te* finds Tennessee and Texas.

(The default value is None)

String
field_type

Specifies the field type that will be returned.

  • All All field types are returned. This is the default.
  • BlobFields of Blob type are returned.
  • BigIntegerFields of Big Integer type are returned.
  • DateFields of Date type are returned.
  • DateOnlyFields of Date Only type are returned.
  • DoubleFields of Double type are returned.
  • GeometryFields of Geometry type are returned.
  • GlobalIDFields of Global ID type are returned.
  • GuidFields of GUID type are returned.
  • IntegerFields of Integer type are returned.
  • OIDFields of Object ID type are returned.
  • RasterFields of Raster type are returned.
  • SingleFields of Single type are returned.
  • SmallIntegerFields of Small Integer type are returned.
  • StringFields of String type are returned.
  • TimeOnlyFields of Time Only type are returned.
  • TimestampOffsetFields of Timestamp Offset type are returned.

(The default value is All)

String
Return Value
Data TypeExplanation
Field

A list containing Field objects is returned.

Code sample

ListFields example

List field properties.

import arcpy

# For each field in the Hospitals feature class, print
# the field name, type, and length.
fields = arcpy.ListFields("c:/data/municipal.gdb/hospitals")

for field in fields:
    print(f"{field.name} has a type of {field.type} with a length of {field.length}")
ListFields example 2

Generate a list of field names.

import arcpy

featureclass = "c:/data/municipal.gdb/hospitals"
field_names = [f.name for f in arcpy.ListFields(featureclass)]

Related topics