Транспонировать поля (Управление данными)

Краткая информация

Трансформирует данные в полях или столбцах в строки в новой таблице или классе объектов.

Полезно использовать этот инструмент, если таблица или класс пространственных объектов хранят значения в именах полей (например Field1, Field2, Field3), и вы хотите повернуть таблицу таким образом, чтобы они отображались в строках. Это позволит вам поменять местами имена полей и соответствующие значения данных (из полей в строки).

Иллюстрация

Иллюстрация к инструменту Транспонировать поля
Транспонирование значений данных, хранящиеся в столбцах таблицы или классе объектов, в строки.

Использование

    Внимание:

    Этот инструмент изменяет входные значения. Более подробно о стратегиях предотвращения нежелательных изменений данных см. в разделе Инструменты, которые изменяют или обновляют входные данные.

  • По умолчанию выходными данными является таблица. Если входными данными является класс объектов, и вам нужно получить класс объектов в качестве выходных данных, добавьте поле Shape в параметр Поля атрибутов.

Параметры

ПодписьОписаниеТип данных
Входная таблица

Класс пространственных объектов или таблица, содержащие значения полей для транспонирования.

Table View
Поля для перегруппировки

Поля или столбцы, содержащие значения данных во входной таблице, которые будут транспонированы.

При необходимости можно выбрать несколько полей для транспонирования. Значение определяет, какое имя поля будет выходным. Если значение не указано, значение по умолчанию будет такое же, как имя поля. Но вы можете указать значение. Например, если имена полей, которые вы хотите транспонировать – Pop1991, Pop1992 и т.д., по умолчанию выходные значения для этих полей будут одинаковыми (Pop1991, Pop199Pop1992 и т.д.). Но вы можете указать значения, например 1991 и 1992.

Value Table
Выходная таблица

Выходной класс объектов или таблица. Выходной набор данных будет содержать транспонированное поле, поле значения, а также любое заданное количество полей атрибутов, которые должны быть перенесены из входной таблицы.

По умолчанию, значение - это таблица. Выходными данными может быть и класс объектов, если в качестве Входной таблицы указан класс объектов и поле Shape выбрано для параметра Поля атрибутов.

Table
Перегруппированное поле

Имя поля, которое будет создано для хранения имен полей, выбираемых для транспонирования. Может использоваться любое корректное имя поля.

String
Поле значений

Имя поля, которое будет создано для хранения соответствующих значений транспонируемых полей. Вы можете ввести любое имя для создаваемого поля времени, не противоречащие общим правилам названия полей и не конфликтующее с уже имеющимися полями входной таблицы или класса пространственных объектов.

String
Атрибутивные поля
(Дополнительный)

Дополнительные атрибутивные поля входной таблицы, которые будут включены в выходные данные. Для вывода класса объектов добавьте поле Shape.

Field

arcpy.management.TransposeFields(in_table, in_field, out_table, in_transposed_field_name, in_value_field_name, {attribute_fields})
ИмяОписаниеТип данных
in_table

Класс пространственных объектов или таблица, содержащие значения полей для транспонирования.

Table View
in_field
[[field, {value}],...]

Поля или столбцы, содержащие значения данных во входной таблице, которые будут транспонированы.

При необходимости можно выбрать несколько полей для транспонирования. Значение определяет, какое имя поля будет выходным. Если значение не указано, значение по умолчанию будет такое же, как имя поля. Но вы можете указать значение. Например, если имена полей, которые вы хотите транспонировать – Pop1991, Pop1992 и т.д., по умолчанию выходные значения для этих полей будут одинаковыми (Pop1991, Pop199Pop1992 и т.д.). Но вы можете указать значения, например 1991 и 1992.

Value Table
out_table

Выходной класс объектов или таблица. Выходной набор данных будет содержать транспонированное поле, поле значения, а также любое заданное количество полей атрибутов, которые должны быть перенесены из входной таблицы.

По умолчанию, значение - это таблица. Выходными данными может быть и класс объектов, если в качестве значения in_table указан класс объектов и поле Shape выбрано для параметра attribute_fields.

Table
in_transposed_field_name

Имя поля, которое будет создано для хранения имен полей, выбираемых для транспонирования. Может использоваться любое корректное имя поля.

String
in_value_field_name

Имя поля, которое будет создано для хранения соответствующих значений транспонируемых полей. Вы можете ввести любое имя для создаваемого поля времени, не противоречащие общим правилам названия полей и не конфликтующее с уже имеющимися полями входной таблицы или класса пространственных объектов.

String
attribute_fields
[attribute_fields,...]
(Дополнительный)

Дополнительные атрибутивные поля входной таблицы, которые будут включены в выходные данные. Для вывода класса объектов добавьте поле Shape.

Field

Пример кода

TransposeFields, пример 1 (окно Python)

Пример скрипта окна Python для использования функции TransposeFields в режиме прямого запуска.

import arcpy
arcpy.management.TransposeFields("C:/Data/TemporalData.gdb/Input", "Field1 newField1;Field2 newField2;Field3 newField3",
                                 "C:/Data/TemporalData.gdb/Output_Time", "Transposed_Field", "Value", "Shape;Type")
TransposeFields, пример 2 (автономный скрипт)

В следующем автономном скрипте показано использование функции TransposeFields.

# Name: TransposeFields_Ex_02.py
# Description: Transpose field names from column headers to values in one column
# Requirements: None

# Import system modules
import arcpy

# set workspace
arcpy.env.workspace = "C:/Data/TemporalData.gdb"

# Set local variables
inTable = "Input"
# Specify fields to transpose
fieldsToTranspose = "Field1 newField1;Field2 newField2;Field3 newField3"
# Set a variable to store output feature class or table
outTable = "Output_Time"
# Set a variable to store time field name
transposedFieldName = "Transposed_Field"
# Set a variable to store value field name
valueFieldName = "Value"
# Specify attribute fields to be included in the output
attrFields = "Shape;Type"

# Run TransposeTimeFields
arcpy.management.TransposeFields(inTable, fieldsToTranspose, outTable, transposedFieldName, valueFieldName, attrFields)

Связанные разделы