转置字段 (数据管理)

摘要

在新表或要素类中,将字段或列中存储的数据转换到行中。

当表或要素类在字段名(如 Field1Field2Field3)中存储值,并且您要将值转换为按行排列时,可使用该工具。 这可以将字段名和字段中的相应数据值转换到行中。

插图

将表或要素类列中存储的数据值转置到行中
将表或要素类列中存储的数据值转置到行中。

使用情况

    警告:

    此工具会修改输入数据。 有关详细信息以及避免数据被意外更改的策略,请参阅修改或更新输入数据的工具

  • 默认情况下,输出为一张表。 当输入为要素类而您希望输出也为要素类时,应在属性字段中添加 Shape 字段。

参数

标注说明数据类型
输入表

包含要转置的数据值字段的输入要素类或表。

Table View
要转置的字段

输入表中包含要进行转置的数据值的字段或列。

根据需要,可以选择多个要进行转置的字段。 此处的值用于定义输出中的字段名。 如果未指定,则值与字段名默认相同。 不过,也可以指定您自己的值。 例如,如果要转置的字段名是 Pop1991Pop1992 等,默认情况下,输出中这些字段的值将相同(Pop1991Pop1992 等)。 但也可选择指定您自己的值,如 19911992

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}],...]

输入表中包含要进行转置的数据值的字段或列。

根据需要,可以选择多个要进行转置的字段。 此处的值用于定义输出中的字段名。 如果未指定,则值与字段名默认相同。 不过,也可以指定您自己的值。 例如,如果要转置的字段名是 Pop1991Pop1992 等,默认情况下,输出中这些字段的值将相同(Pop1991Pop1992 等)。 但也可选择指定您自己的值,如 19911992

Value Table
out_table

输出要素类或表。 输出将包含转置后的字段、值字段以及指定的需要从输入表继承的任意数量的属性字段。

默认情况下,out_table 为一张表。 当 in_table 为要素类,并且在 attribute_fields 参数中选择了 Shape 字段时,输出将为要素类。

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)