Краткая информация
Соединяет ресурсы структурированного массива NumPy с таблицей на основе поля общего атрибута. Входная таблица обновляется, чтобы содержать поля из присоединенной таблицы.
Обсуждение
Записи в поле in_array совпадают с записями в поле in_table. Совпадение достигается, когда значения table_match_field и array_match_table одинаковые. Это соединение является постоянным.
NumPy – это основной пакет для экспоненциальных вычислений в Python с поддержкой мощных n-размерных объектов типа массив (array). Подробнее см. в разделе Работа с NumPy в ArcGIS.
Синтаксис
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 | A field name from in_table to use as a match to the array. | String |
in_array | A NumPy structured array to be appended to in_table. Matching in_array field values must be unique. | NumPyArray |
array_match_field | A 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 the 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")