摘要
重命名字段和字段别名,或更改字段属性。
用法
语法
AlterField_management (in_table, field, {new_field_name}, {new_field_alias}, {field_type}, {field_length}, {field_is_nullable}, {clear_field_alias})
参数 | 说明 | 数据类型 |
in_table | 包含待更改字段的输入表或要素类。 | Table View |
field | 待更改字段的名称。如果字段为必填字段 (isRequired=true),则只有字段别名是可更改的。 | Field |
new_field_name (可选) | 字段的新名称。 | String |
new_field_alias (可选) | 字段的新字段别名。 | String |
field_type (可选) | 字段的新字段类型。仅在输入表为空(不包括记录)的情况下适用。
| String |
field_length (可选) | 字段的新长度。它为字段的每条记录设置最大允许字符数。此选项仅适用于 TEXT 或 BLOB 类型的字段。仅当表为空时适用。 | Long |
field_is_nullable (可选) | 确定该字段是否可包含空值。只有地理数据库中的字段支持空值。仅在输入表为空(不包括记录)的情况下适用。
| Boolean |
clear_field_alias (可选) | 指定是否清除输入字段的别名。要清除字段别名,字段别名参数必须为空。
| Boolean |
代码实例
AlterField 示例 1(Python 窗口)
以下 Python 窗口脚本演示了如何在即时模式下使用 AlterField 工具。
arcpy.AlterField_management(r'C:\Data\Garbo.gdb\Khyber', 'Elev', 'ELEVATION', 'Elevation in Metres')
AlterField 示例 2(独立脚本)
以下 Python 窗口脚本演示了如何在独立脚本中使用 AlterField 工具。
#Import geoprocessing
import arcpy
#Set workspace
arcpy.env.workspace = r'C:\Data\Garbo.gdb'
#Loop through feature classes looking for a field named 'elev'
fcList = arcpy.ListFeatureClasses() #get a list of feature classes
for fc in fcList: #loop through feature classes
fieldList = arcpy.ListFields(fc) #get a list of fields for each feature class
for field in fieldList: #loop through each field
if field.name.lower() == 'elev': #look for the name elev
arcpy.AlterField_management(fc, field.name, 'ELEVATION', 'Elevation in Metres')
AlterField 示例 3(独立脚本)
以下 Python 窗口脚本演示了如何对独立脚本中的空要素类使用 AlterField 工具。
#Import geoprocessing
import arcpy
#Set local variables
fc = "C:/Data/Garbo.gdb/trails" #Note:empty feature class
field = "condition_rating" #short int, non nullable field
new_name = "notes"
new_alias = "Comments on Trail Condition"
new_type = "TEXT"
new_length = "60"
new_is_nullable = "NULLABLE"
clear_alias = "FALSE"
#Alter the properties of a non nullable, short data type field to become a text field
arcpy.AlterField_management(fc, field, new_name, new_alias, new_type, new_length, new_is_nullable, clear_alias)