ExtendTable (arcpy.da)

摘要

基于公共属性字段将 NumPy 结构化数组的内容连接到表。输入表将被更新,从而包含连接表中的字段。

讨论

in_array 中的记录与 in_table 中的记录相匹配。table_match_fieldarray_match_table 的值相等时进行匹配。该连接是永久性的。

NumPy 是 Python 中用于进行科学计算的基础包,其包括支持功能强大的 N 维数组对象。有关详细信息,请参阅在 ArcGIS 中使用 NumPy

语法

ExtendTable (in_table, table_match_field, in_array, array_match_field, {append_only})
参数说明数据类型
in_table

The target table to which fields from a NumPy array will be appended.

String
table_match_field

Field name from in_table to use as a match to the array.

String
in_array

NumPy structured array to be appended to in_table.

Matching in_array field values must be unique.

NumPyArray
array_match_field

Field name from in_array to use to match.

String
append_only

Controls how fields are added or updated in the existing table.

If True, fields will be appended to the existing table only. If any of NumPy field names exist already in the in_table, ExtendTable will fail.

If False, existing fields will be updated if they share a common field name with fields in the NumPy array. Any matching fields must have a compatible field type. For example, a NumPy string field cannot be appended into a numeric field.

(默认值为 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")

相关主题

5/10/2014