更改字段 (数据管理)

摘要

重命名字段和字段别名,或更改字段属性。

使用情况

    警告:

    此工具会修改输入数据。 有关详细信息以及避免数据被意外更改的策略,请参阅修改或更新输入数据的工具

  • 此工具可用于为地理数据库表或要素类重命名字段或字段别名。

  • 可使用此工具修改已注册到地理数据库中的表或视图字段的字段别名。

  • 如果输入字段为必填字段,则只能修改字段别名。

参数

标注说明数据类型
输入表

包含要更改的字段的输入地理数据库表或要素类。

Table View; Raster Layer; Mosaic Layer
字段名

要更改的字段的名称。 如果字段为必填字段,则将仅更改字段别名。

Field
新字段名称
(可选)

字段的新名称。

String
新字段别名
(可选)

字段的新字段别名。

String
新字段类型
(可选)

指定字段的新字段类型。 仅在输入表为空(不包含记录)时,此参数才适用。

  • 短整型(16 位整型)字段类型将为短整型。 短整形字段支持介于 -32,768 和 32,767 之间的整数。
  • 长整型(32 位整数)字段类型将为长整型。 长整型字段支持介于 2,147,483,648 和 2,147,483,647 之间的整数。
  • 大整数(64 位整数)此字段类型将为大整数。 大整数字段支持 -(253) 和 253 之间的整数。
  • 浮点型(32 位浮点型)字段类型将为浮点型。 浮点型字段支持介于 -3.4E38 和 1.2E38 之间的小数。
  • 双精度型(64 位浮点型)字段类型将为双精度型。 双精度字段支持介于 -2.2E308 和 1.8E308 之间的小数。
  • 文本字段类型将为文本型。 文本字段支持字符串。
  • 日期字段类型将为日期型。 日期字段支持日期和时间值。
  • 仅日期此字段类型将仅为日期。 仅日期字段支持不带时间值的日期值。
  • 仅时间此字段类型将仅为时间。 仅时间字段支持不带日期值的时间值。
  • 时间戳偏移此字段类型将为时间戳偏移。 时间戳偏移字段支持日期、时间和相对于 UTC 值的偏移。
  • BLOB(二进制数据)此字段类型将为 BLOB。 BLOB 字段支持将数据存储为长度较长的一系列二进制数。 您需要一个自定义的加载器、查看器或第三方应用程序将这些项加载到 BLOB 字段中或者查看 BLOB 字段的内容。
  • GUID(全局唯一标识符)此字段类型将为 GUID。 GUID 字段可存储注册表样式的字符串,该字符串包含用大括号括起来的 36 个字符。
  • 栅格此字段类型将为栅格。 栅格字段格可在地理数据库中存储栅格数据或者将该数据与地理数据库一同存储。 可以存储 ArcGIS 软件支持的所有栅格数据集格式,但建议您仅使用小影像。
String
新字段长度
(可选)

字段的新长度。 它为字段的每条记录设置最大允许字符数。 此参数仅适用于 TextBlob(二进制数据)类型的字段。 如果表为空,则可以增大或减小字段长度。 如果表不为空,则只能从当前值开始增大长度。

Long
新字段 IsNullable
(可选)

指定该字段是否可包含空值。 空值仅适用于地理数据库中的字段。 仅在表为空(不包含记录)时,此参数才适用。

  • 选中 - 字段可包含空值。 这是默认设置。
  • 未选中 - 字段不可包含空值。
Boolean
清除别名
(可选)

指定是否要清除输入字段的别名。 新字段别名参数值必须为空才能清除字段的别名。

  • 选中 - 将清除字段别名(设为空值)。 字段别名参数必须为空。
  • 未选中 - 不会清除字段别名。 这是默认设置。
Boolean

派生输出

标注说明数据类型
更新的输入表

更新的输入表。

Table View; Raster Layer; Mosaic Layer

arcpy.management.AlterField(in_table, field, {new_field_name}, {new_field_alias}, {field_type}, {field_length}, {field_is_nullable}, {clear_field_alias})
名称说明数据类型
in_table

包含要更改的字段的输入地理数据库表或要素类。

Table View; Raster Layer; Mosaic Layer
field

要更改的字段的名称。 如果字段为必填字段,则将仅更改字段别名。

Field
new_field_name
(可选)

字段的新名称。

String
new_field_alias
(可选)

字段的新字段别名。

String
field_type
(可选)

指定字段的新字段类型。 仅在输入表为空(不包含记录)时,此参数才适用。

  • SHORT字段类型将为短整型。 短整形字段支持介于 -32,768 和 32,767 之间的整数。
  • LONG字段类型将为长整型。 长整型字段支持介于 2,147,483,648 和 2,147,483,647 之间的整数。
  • BIGINTEGER此字段类型将为大整数。 大整数字段支持 -(253) 和 253 之间的整数。
  • FLOAT字段类型将为浮点型。 浮点型字段支持介于 -3.4E38 和 1.2E38 之间的小数。
  • DOUBLE字段类型将为双精度型。 双精度字段支持介于 -2.2E308 和 1.8E308 之间的小数。
  • TEXT字段类型将为文本型。 文本字段支持字符串。
  • DATE字段类型将为日期型。 日期字段支持日期和时间值。
  • DATEONLY此字段类型将仅为日期。 仅日期字段支持不带时间值的日期值。
  • TIMEONLY此字段类型将仅为时间。 仅时间字段支持不带日期值的时间值。
  • TIMESTAMPOFFSET此字段类型将为时间戳偏移。 时间戳偏移字段支持日期、时间和相对于 UTC 值的偏移。
  • BLOB此字段类型将为 BLOB。 BLOB 字段支持将数据存储为长度较长的一系列二进制数。 您需要一个自定义的加载器、查看器或第三方应用程序将这些项加载到 BLOB 字段中或者查看 BLOB 字段的内容。
  • GUID此字段类型将为 GUID。 GUID 字段可存储注册表样式的字符串,该字符串包含用大括号括起来的 36 个字符。
  • RASTER此字段类型将为栅格。 栅格字段格可在地理数据库中存储栅格数据或者将该数据与地理数据库一同存储。 可以存储 ArcGIS 软件支持的所有栅格数据集格式,但建议您仅使用小影像。
String
field_length
(可选)

字段的新长度。 它为字段的每条记录设置最大允许字符数。 此参数仅适用于 TEXTBLOB 类型的字段。 如果表为空,则可以增大或减小字段长度。 如果表不为空,则只能从当前值开始增大长度。

Long
field_is_nullable
(可选)

指定该字段是否可包含空值。 空值仅适用于地理数据库中的字段。 仅在输入表为空(不包含记录)时,此参数才适用。

  • NULLABLE字段可包含空值。 这是默认设置。
  • NON_NULLABLE字段不可包含空值。
Boolean
clear_field_alias
(可选)

指定是否要清除输入字段的别名。 要清除字段别名,new_field_alias 参数必须为空。

  • CLEAR_ALIAS将清除字段别名(设为空值)。
  • DO_NOT_CLEAR不会清除字段别名。 这是默认设置。
Boolean

派生输出

名称说明数据类型
out_table

更新的输入表。

Table View; Raster Layer; Mosaic Layer

代码示例

AlterField 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 AlterField 函数。

import arcpy
arcpy.management.AlterField(
    r'C:\Data\Garbo.gdb\Khyber', 'Elev', 'ELEVATION', 'Elevation in Metres')
AlterField 示例 2(独立脚本)

以下 Python 窗口演示了如何在独立脚本中使用 AlterField 函数。

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:  # Lloop through each field
        if field.name.lower() == 'elev':  # Look for the name elev
            arcpy.management.AlterField(fc, field.name, 'ELEVATION', 'Elevation in Metres')
AlterField 示例 3(独立脚本)

以下 Python 窗口脚本演示了如何对独立脚本中的空要素类使用 AlterField 函数。

import arcpy

# Set local variables
in_table = "C:/Data/Garbo.gdb/trails"  # Note: empty feature class
field = "condition_rating"  # short int, non nullable field
new_field_name = "notes"
new_field_alias = "Comments on Trail Condition"
field_type = "TEXT"
field_length = 60
field_is_nullable = "NULLABLE"
clear_field_alias = "FALSE"

# Alter the properties of a non nullable, short data type field to become a text field
arcpy.management.AlterField(in_table,
                            field,
                            new_field_name,
                            new_field_alias,
                            field_type,
                            field_length,
                            field_is_nullable,
                            clear_field_alias)

相关主题