转置字段 (数据管理)

摘要

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

当表或要素类在字段名(如 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

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

默认情况下,该值为表。 当 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)

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题