摘要
基于公共属性字段将 NumPy 结构数组的内容连接到表。输入表将被更新,从而包含连接表中的字段。
讨论
in_array 中的记录与 in_table 中的记录相匹配。将在 table_match_field 与 array_match_table 值相等时进行匹配。该连接是永久性的。
NumPy 是 Python 中用于进行科学计算的基础包,其包括支持功能强大的 N 维数组对象。有关详细信息,请参阅在 ArcGIS 中使用 NumPy。
语法
ExtendTable (in_table, table_match_field, in_array, array_match_field, {append_only})
参数 | 说明 | 数据类型 |
in_table | 将附加 NumPy 数组中字段的目标表格。 | String |
table_match_field | in_table 中的字段名称,用作数组的匹配项。 | String |
in_array | 要附加至 in_table 的 NumPy 结构数组。 匹配 in_array 字段值必须唯一。 | NumPyArray |
array_match_field | in_array 中用于匹配的字段名称。 | String |
append_only | 控制字段在现有表格中的添加方式或更新方式。 如果为真,则字段仅附加到现有表格。如果 in_table 中已存在任意 NumPy 字段名称,则 ExtendTable 将失败。 如果为假,当现有字段与 NumPy 数组中的字段共享通用字段名时,将更新现有字段。所有匹配字段的字段类型均必须兼容。例如,NumPy 字符串字段无法附加至数值字段。 (默认值为 True) | Boolean |
代码示例
使用 ExtendTable 将 NumPy 数组连接至现有表。
import arcpy
import numpy
# numpy array
#
array = numpy.array([(1, 'a', 1111.0), (2, 'b', 2222.22)],
numpy.dtype([('idfield',numpy.int32),
('textfield', '|S256'),
('doublefield','<f8')]))
# Append the array to an existing table
#
arcpy.da.ExtendTable("c:/data/base.gdb/current_table",
"tableid",
array,
"idfield")