摘要
提供图层和表视图的字段信息方法和属性。
说明
当对象用作地理处理工具的输入时,FieldInfo 对象不支持字段重命名。
语法
FieldInfo ()
属性
| 属性 | 说明 | 数据类型 |
| count (只读) | 字段计数。 | Integer |
方法概述
| 方法 | 说明 |
| addField (field_name, new_field_name, visible, split_rule) | 添加字段信息条目 |
| exportToString () | 将对象导出至其字符串表示。 |
| findFieldByName (field_name) | 按字段名查找字段索引。 |
| findFieldByNewName (field_name) | 按新字段名查找字段索引。 |
| getFieldName (index) | 按索引位置获取表中的字段名称。 |
| getNewName (index) | 按索引位置返回表中的新字段名称。 |
| getSplitRule (index) | 按索引位置获取表中的分割规则。 |
| getVisible (index) | 按索引位置从表中返回可见标记。 |
| loadFromString (string) | 通过已格式化字符串定义 FieldInfo 对象。 |
| removeField (index) | 从表中移除 FieldInfo 条目。 |
| setFieldName (index, field_name) | 在表中设置字段名称。 |
| setNewName (index, new_field_name) | 设置表中的新字段名。 注:当 setNewName 方法更新对象中的字段名时,如果使用 FieldInfo 对象作为地理处理工具的输入,则不会应用名称更改。 |
| setSplitRule (index, rule) | 在表中设置分割规则。 |
| setVisible (index, visible) | 设置表中字段的可见策略。 |
方法
addField (field_name, new_field_name, visible, split_rule)
| 参数 | 说明 | 数据类型 |
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 ()
| 数据类型 | 说明 |
| String | 对象的字符串表示。 |
findFieldByName (field_name)
| 参数 | 说明 | 数据类型 |
field_name | The field name that will be used to find its index position. | String |
| 数据类型 | 说明 |
| Integer | 索引位置。 |
findFieldByNewName (field_name)
| 参数 | 说明 | 数据类型 |
field_name | The new field name that will be used to find its index position. | String |
| 数据类型 | 说明 |
| Integer | 索引位置。 |
getFieldName (index)
| 参数 | 说明 | 数据类型 |
index | The index position. | Integer |
| 数据类型 | 说明 |
| String | 字段名称。 |
getNewName (index)
| 参数 | 说明 | 数据类型 |
index | The index position. | Integer |
| 数据类型 | 说明 |
| String | 新字段名称。 |
getSplitRule (index)
| 参数 | 说明 | 数据类型 |
index | The index position. | String |
| 数据类型 | 说明 |
| String | 分割规则。
|
getVisible (index)
| 参数 | 说明 | 数据类型 |
index | The index position. | String |
| 数据类型 | 说明 |
| String | 可见标记。
|
loadFromString (string)
| 参数 | 说明 | 数据类型 |
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)
| 参数 | 说明 | 数据类型 |
index | The index position of the FieldInfo object. | Integer |
setFieldName (index, field_name)
| 参数 | 说明 | 数据类型 |
index | The index position. | Integer |
field_name | The field name that will be set in the table. | String |
setNewName (index, new_field_name)
| 参数 | 说明 | 数据类型 |
index | The index position. | None |
new_field_name | The new field name that will be set in the table. | String |
setSplitRule (index, rule)
| 参数 | 说明 | 数据类型 |
index | The index position. | Integer |
rule | Specifies the split rule that will be set in the table.
| String |
setVisible (index, visible)
| 参数 | 说明 | 数据类型 |
index | The index position. | Integer |
visible | Specifies the visible policy that will be set in the table.
| String |
代码示例
显示要素图层的 FieldInfo 对象属性。
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)}")