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

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

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

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

Иллюстрация

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

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

    Внимание:

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

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

Параметры

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

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

Table View
Поля для транспонирования

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

В зависимости от ваших потребностей, можно выбрать несколько полей для транспонирования. Значение определяет, какое имя поля будет выходным. Если ничего не указано, значение будет такое же, как имя поля (по умолчанию). Но вы можете задать собственное значение. Например, если имена полей, которые вы хотите транспонировать – Pop1991, Pop1992 и т.д., по умолчанию выходные значения для этих полей будут такими же (Pop1991, Pop1992 и т.д.). Однако, вы можете задать свои собственные значения, например, 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, Pop1992 и т.д.). Однако, вы можете задать свои собственные значения, например, 1991 и 1992.

Value Table
out_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, пример (окно Python)

Следующий скрипт окна Python показывает, как использовать инструмент TransposeFields в режиме прямого запуска.

import arcpy
arcpy.TransposeFields_management("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: Tranpose field names from column headers to values in one column
# Requirements: None

# Import system modules
import arcpy
from arcpy import env

# 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"

# Execute TransposeTimeFields
arcpy.TransposeFields_management(inTable, fieldsToTranspose, outTable, transposedFieldName, valueFieldName, attrFields)