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) | 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) | 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 into 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 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 ()
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 |
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 |
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 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 that will be set in 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
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)}")