转置字段 (数据管理)

摘要

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

当表或要素类在字段名(如 Field1、Field2、Field3)中存储值,并且您希望将值转换为按行排列时,此工具将非常有用。 这可以将字段名和字段中的相应数据值转换到行中。

插图

“转置字段”工具图示
将表或要素类列中存储的数据值转置到行中。

使用情况

    警告:

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

  • 默认情况下,输出为一张表。 当输入为要素类,并且输出也应为要素类时,需要向属性字段参数添加 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

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

默认情况下,该值为表。 当 in_table 值为要素类,并且在 attribute_fields 参数中指定了 Shape 字段时,输出将为要素类。

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)

相关主题