Summary
Provides field info methods and properties for layer and table views.
Syntax
FieldInfo ()
Properties
| Property | Explanation | Data Type | 
| count (Read Only) | The field count. | Integer | 
Method Overview
| Method | Explanation | 
| addField (field_name, new_field_name, visible, split_rule) | Adds a field info entry | 
| exportToString () | Exports the object to its string representation. | 
| findFieldByName (field_name) | Finds the field index by field name | 
| findFieldByNewName (field_name) | Finds the field index by new field name. | 
| getFieldName (index) | Gets the field name from the table by index position. | 
| getNewName (index) | Gets the new field name from the table by index position. | 
| getSplitRule (index) | Gets the split rule from the table by index position. | 
| getVisible (index) | Gets the visible flag from the table by index position. | 
| loadFromString (string) | Restore the object using its string representation. The exportToString method can be used to create a string representation. | 
| removeField (index) | Removes the field info entry from a table. | 
| setFieldName (index, field_name) | Sets the field name into the table. | 
| setNewName (index, new_field_name) | Sets the new field name into the table. | 
| setSplitRule (index, rule) | Sets the split rule into the table. | 
| setVisible (index, visible) | Set the visible flag of a field on the table. | 
Methods
addField (field_name, new_field_name, visible, split_rule)
| Parameter | Explanation | Data Type | 
| field_name | The field name from the input feature class or table. | String | 
| new_field_name | Sets the field name for the new layer or table view. | String | 
| visible | Sets whether the field is visible or hidden. 
 | String | 
| split_rule | Sets the behavior of an attribute's values when a feature is split. 
 | String | 
exportToString ()
Return Value
| Data Type | Explanation | 
| String | The string representation of the object. | 
findFieldByName (field_name)
| Parameter | Explanation | Data Type | 
| field_name | The field name used to find its index position | String | 
Return Value
| Data Type | Explanation | 
| Integer | The index position | 
findFieldByNewName (field_name)
| Parameter | Explanation | Data Type | 
| field_name | The new field name used to find its index position. | String | 
Return Value
| Data Type | Explanation | 
| Integer | The index position. | 
getFieldName (index)
| Parameter | Explanation | Data Type | 
| index | The index position. | Integer | 
Return Value
| Data Type | Explanation | 
| String | The field name. | 
getNewName (index)
| Parameter | Explanation | Data Type | 
| index | The index position. | Integer | 
Return Value
| Data Type | Explanation | 
| String | The new field name. | 
getSplitRule (index)
| Parameter | Explanation | Data Type | 
| index | The index position. | String | 
Return Value
| Data Type | Explanation | 
| String | The split rule. 
 | 
getVisible (index)
| Parameter | Explanation | Data Type | 
| index | The index position. | String | 
Return Value
| Data Type | Explanation | 
| String | The visible flag. 
 | 
loadFromString (string)
| Parameter | Explanation | Data Type | 
| string | The string representation of the object. | String | 
removeField (index)
| Parameter | Explanation | Data Type | 
| index | The index position of the field info object. | Integer | 
setFieldName (index, field_name)
| Parameter | Explanation | Data Type | 
| index | The index position. | Integer | 
| field_name | The field name to set into the table. | String | 
setNewName (index, new_field_name)
| Parameter | Explanation | Data Type | 
| index | The index position. | None | 
| new_field_name | The new field name to set into the table. | String | 
setSplitRule (index, rule)
| Parameter | Explanation | Data Type | 
| index | The index position. | Integer | 
| rule | The split rule to set into the table. 
 | String | 
setVisible (index, visible)
| Parameter | Explanation | Data Type | 
| index | The index position. | Integer | 
| visible | The visible policy to set into the table. 
 | String | 
Code sample
FieldInfo example
Display FieldInfo properties for a feature layer.
import arcpy
feature_class = "c:/Data/wells.shp"
layer = "temp_layer"
arcpy.MakeFeatureLayer_management(feature_class, layer)
# Create a describe object
desc = arcpy.Describe(layer)
# If a feature layer, continue
if desc.dataType == "FeatureLayer":
    # Create a fieldinfo object
    field_info = desc.fieldInfo
    # Use the count property to iterate through all the fields
    for index in range(0, field_info.count):
        # Print fieldinfo properties
        print("Field Name: {0}".format(field_info.getFieldName(index)))
        print("\tNew Name:   {0}".format(field_info.getNewName(index)))
        print("\tSplit Rule: {0}".format(field_info.getSplitRule(index)))
        print("\tVisible:    {0}".format(field_info.getVisible(index)))