Summary
Provides field info methods and properties for layer and table views.
Discussion
The FieldInfo object does not support the renaming of fields when the object is used as input to a geoprocessing tool.
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) | Add 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 the new field name. |
| getFieldName (index) | Gets the field name from the table by index position. |
| getNewName (index) | Returns the new field name from the table by index position. |
| getSplitRule (index) | Gets the split rule from the table by index position. |
| getVisible (index) | Returns the visible flag from the table by index position. |
| loadFromString (string) | Defines a FieldInfo object from a formatted string. |
| removeField (index) | Removes a FieldInfo entry from a table. |
| setFieldName (index, field_name) | Sets the field name in the table. |
| setNewName (index, new_field_name) | Sets a new field name in the table. Note:While the setNewName method updates a field name in the object, the name change will not be applied when the FieldInfo object is used as input to a geoprocessing tool. |
| setSplitRule (index, rule) | Sets the split rule in the table. |
| setVisible (index, visible) | Sets the visible policy of a field in 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 | The field name for the new layer or table view. | String |
visible | Specifies whether the field will be visible or hidden.
| String |
split_rule | Specifies the behavior of an attribute's values when a feature is split.
| String |
exportToString ()
| Data Type | Explanation |
| String | The string representation of the object. |
findFieldByName (field_name)
| Parameter | Explanation | Data Type |
field_name | The field name that will be used to find its index position. | String |
| Data Type | Explanation |
| Integer | The index position. |
findFieldByNewName (field_name)
| Parameter | Explanation | Data Type |
field_name | The new field name that will be used to find its index position. | String |
| Data Type | Explanation |
| Integer | The index position. |
getFieldName (index)
| Parameter | Explanation | Data Type |
index | The index position. | Integer |
| Data Type | Explanation |
| String | The field name. |
getNewName (index)
| Parameter | Explanation | Data Type |
index | The index position. | Integer |
| Data Type | Explanation |
| String | The new field name. |
getSplitRule (index)
| Parameter | Explanation | Data Type |
index | The index position. | String |
| Data Type | Explanation |
| String | The split rule.
|
getVisible (index)
| Parameter | Explanation | Data Type |
index | The index position. | String |
| Data Type | Explanation |
| String | The visible flag.
|
loadFromString (string)
| Parameter | Explanation | Data Type |
string | The string representation of the object. In addition to FieldInfo methods and properties, you can also construct a FieldInfo object from a formatted string. Each field is defined by four space-delimited values. Fields are separated by a semicolon.
| String |
removeField (index)
| Parameter | Explanation | Data Type |
index | The index position of the FieldInfo object. | Integer |
setFieldName (index, field_name)
| Parameter | Explanation | Data Type |
index | The index position. | Integer |
field_name | The field name that will be set in the table. | String |
setNewName (index, new_field_name)
| Parameter | Explanation | Data Type |
index | The index position. | None |
new_field_name | The new field name that will be set in the table. | String |
setSplitRule (index, rule)
| Parameter | Explanation | Data Type |
index | The index position. | Integer |
rule | Specifies the split rule that will be set in the table.
| String |
setVisible (index, visible)
| Parameter | Explanation | Data Type |
index | The index position. | Integer |
visible | Specifies the visible policy that will be set in the table.
| String |
Code sample
Display FieldInfo object properties for a feature layer.
import arcpy
feature_class = "c:/Data/wells.shp"
layer = "temp_layer"
arcpy.management.MakeFeatureLayer(feature_class, layer)
# Create a describe object
desc = arcpy.Describe(layer)
# Access Describe's fieldInfo property
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(f"Field Name: {field_info.getFieldName(index)}")
print(f"\tSplit Rule: {field_info.getSplitRule(index)}")
print(f"\tVisible: {field_info.getVisible(index)}")