标注 | 说明 | 数据类型 |
输入表 | 输入表或要素类。 | Table View |
输出表 | 包含更新字段的输出表或要素类。 | Table |
输出模式定义表 | 包含字段定义和计算的表,将用于创建输出。 | Table View |
脚本文件 (可选) | 存储多行 Python 函数的 Python 文件,用于为输出表参数字段执行计算。 | File |
输出字段名称 (可选) | 定义表中包含输出表目标字段名称的字段名称。 | Field |
源字段名称 (可选) | 定义表中包含输入表源字段名称的字段名称。 | Field |
输出字段类型 (可选) | 输出表的数据类型由输出模式定义表参数值中的字段定义。 该字段应为文本类型。 输出表的数据类型由 field_definition_table 中的字段定义。 该字段应为文本类型。 支持以下值:
| Field |
输出字段小数位数或长度 (可选) | 定义表中用于定义输出字段小数位数或长度的字段名称。 | Field |
输出字段别名 (可选) | 定义表中用于定义输出表字段别名的字段名称。 | Field |
输出字段脚本 (可选) | 定义表中用于定义输出字段计算的字段名称。 | Field |
摘要
根据定义表中定义的模式转换表或要素类中的字段,并创建新表或要素类。
您可以使用此工具执行以下操作:
- 添加新字段。
- 更新现有字段。
- 重新排序字段。
- 更改字段类型。
- 更改字段属性。
- 分配或更新字段别名。
- 使用 Python,基于现有字段计算字段值。
- 移除字段。
使用情况
输入表可为要素类或表。 此工具输出具有更新模式的新要素类或表。
输出表模式更改由输出模式定义表参数定义。
以下是定义表的示例:
如果输出模式定义表参数值包括上述字段名称,如上述示例中所示,将自动填充对应的参数值:
- Target field
- Source field
- Type
- Decimals/Length
- Alias
- Script
此工具使用定义表的脚本字段提供的现有字段计算新字段。
定义表中的 Script 字段的示例值为 !TOTPOP!/!AREA!,将使用该值计算 Population Density 字段。 必须在字段名称两边添加惊叹号。
此工具可以创建依赖于其他字段计算的附加字段。 例如,使用 Bev_Per_Capita 字段计算 Bev_Index 字段,在运行工具时也会进行该计算。
对于多行 Python 计算,需使用脚本文件参数。 要使用脚本文件,需创建一个包含 Python 函数的文件,并在定义表中引用这些函数。
以下是用于名为 Bev_Per_Capita 的目标字段的脚本代码示例:
- 输出模式定义表参数值中名为 Script 的字段,其值为 Bev_Per_Capita(!Bev_Total!, !TOTPOP!)
- 脚本文件参数值包含以下函数:
def Bev_Per_Capita(Bev_Total, TOTPOP): return Bev_Total / TOTPOP
以下示例显示了运行该工具前后的属性表:
参数
arcpy.management.BatchUpdateFields(in_table, out_table, field_definition_table, {script_file}, {output_field_name}, {source_field_name}, {output_field_type}, {output_field_decimals_or_length}, {output_field_alias}, {output_field_script})
名称 | 说明 | 数据类型 |
in_table | 输入表或要素类。 | Table View |
out_table | 包含更新字段的输出表或要素类。 | Table |
field_definition_table | 包含字段定义和计算的表,将用于创建输出。 | Table View |
script_file (可选) | 存储多行 Python 函数的 Python 文件,用于为 out_table 参数字段执行计算。 | File |
output_field_name (可选) | 定义表中包含输出表目标字段名称的字段名称。 | Field |
source_field_name (可选) | 定义表中包含输入表源字段名称的字段名称。 | Field |
output_field_type (可选) | 输出表的数据类型由输出模式定义表参数值中的字段定义。 该字段应为文本类型。 输出表的数据类型由 field_definition_table 中的字段定义。 该字段应为文本类型。 支持以下值:
| Field |
output_field_decimals_or_length (可选) | 定义表中用于定义输出字段小数位数或长度的字段名称。 | Field |
output_field_alias (可选) | 定义表中用于定义输出表字段别名的字段名称。 | Field |
output_field_script (可选) | 定义表中用于定义输出字段计算的字段名称。 | Field |
代码示例
以下 Python 窗口演示了如何在独立脚本中使用 BatchUpdateFields 函数。
import arcpy
arcpy.management.BatchUpdateFields(
"zip_codes", "MyProject.gdb\zip_codes_BatchUpdateFields",
"DATA_TRANSFORMATION.csv", r"C:\BatchUpdate\script.py", "TARGET",
"SOURCE", "DATATYPE", "DECIMALS", "ALIAS", "SCRIPT")