Transponer campos (Administración de datos)

Resumen

Permite cambiar los datos almacenados en campos o columnas a filas de una tabla o clase de entidad nueva.

Esta herramienta resulta útil cuando la tabla o clase de entidad almacena valores en nombres de campos (como Field1, Field2, Field3) que desea rotar para disponerlos en filas. Le permite cambiar los nombres de campos y los valores de datos correspondientes en los campos a filas.

Ilustración

Transponer los valores de datos almacenados en las columnas de una tabla o clase de entidad en filas
Transponga los valores de datos almacenados en las columnas de una tabla o clase de entidad en filas.

Uso

    Precaución:

    Esta herramienta modifica los datos de entrada. Consulte Herramientas que modifican o actualizan los datos de entrada para obtener más información y estrategias para evitar cambios de datos no deseados.

  • De forma predeterminada, la salida es una tabla. Si la entrada es una clase de entidad y desea que la salida también sea una clase de entidad, agregue el campo Shape a Campos de atributos.

Parámetros

EtiquetaExplicaciónTipo de datos
Tabla de entrada

Tabla o clase de entidad de entrada que contiene los campos de valores de datos que se desea transponer.

Table View
Campos a transponer

Campos o columnas que contienen los valores de datos en la tabla de entrada que necesitan ser transpuestos.

Dependiendo de sus necesidades, puede seleccionar varios campos que necesiten ser transpuestos. Aquí el valor define cuál será el nombre del campo en la salida. Si no se especifica, el valor será igual que el nombre de campo de forma predeterminada. Sin embargo, también puede especificar su propio valor. Por ejemplo, si los nombres de campo que se van a transponer son Pop1991, Pop1992, etc.; de forma predeterminada, los valores para estos campos en la salida serán los mismos (Pop1991, Pop1992, etc.). Sin embargo, puede especificar sus propios valores como, por ejemplo, 1991 y 1992.

Value Table
Tabla de Salida

La tabla o clase de entidad de salida. La salida contendrá un campo transpuesto, un campo de valor y cualquier cantidad de campos de atributos especificados que deben heredarse de la tabla de entrada.

De forma predeterminada, la Tabla de salida es una tabla. La salida será una clase de entidad si la Tabla de entrada es una clase de entidad y si se ha seleccionado el campo Shape en el parámetro Campos de atributos.

Table
Campo transpuesto

Nombre del campo que se creará para almacenar los nombres de los campos transpuestos. Se puede utilizar cualquier nombre de campo válido.

String
Campo de valor

Nombre del campo que se creará para almacenar los valores correspondientes de los campos transpuestos. Se puede configurar cualquier nombre de campo válido, siempre y cuando no ocasione conflictos con los nombres de campo existentes de la tabla o clase de entidad de entrada.

String
Campos de atributo
(Opcional)

Campos de atributos adicionales de la tabla de entrada que se incluirán en la tabla de salida. Si desea generar una clase de entidad, agregue el campo Shape.

Field

arcpy.management.TransposeFields(in_table, in_field, out_table, in_transposed_field_name, in_value_field_name, {attribute_fields})
NombreExplicaciónTipo de datos
in_table

Tabla o clase de entidad de entrada que contiene los campos de valores de datos que se desea transponer.

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

Campos o columnas que contienen los valores de datos en la tabla de entrada que necesitan ser transpuestos.

Dependiendo de sus necesidades, puede seleccionar varios campos que necesiten ser transpuestos. Aquí el valor define cuál será el nombre del campo en la salida. Si no se especifica, el valor será igual que el nombre de campo de forma predeterminada. Sin embargo, también puede especificar su propio valor. Por ejemplo, si los nombres de campo que se van a transponer son Pop1991, Pop1992, etc.; de forma predeterminada, los valores para estos campos en la salida serán los mismos (Pop1991, Pop1992, etc.). Sin embargo, puede especificar sus propios valores como, por ejemplo, 1991 y 1992.

Value Table
out_table

La tabla o clase de entidad de salida. La salida contendrá un campo transpuesto, un campo de valor y cualquier cantidad de campos de atributos especificados que deben heredarse de la tabla de entrada.

De forma predeterminada, la out_table es una tabla. La salida será una clase de entidad si la in_table es una clase de entidad y si se ha seleccionado el campo Shape en el parámetro attribute_fields.

Table
in_transposed_field_name

Nombre del campo que se creará para almacenar los nombres de los campos transpuestos. Se puede utilizar cualquier nombre de campo válido.

String
in_value_field_name

Nombre del campo que se creará para almacenar los valores correspondientes de los campos transpuestos. Se puede configurar cualquier nombre de campo válido, siempre y cuando no ocasione conflictos con los nombres de campo existentes de la tabla o clase de entidad de entrada.

String
attribute_fields
[attribute_fields,...]
(Opcional)

Campos de atributos adicionales de la tabla de entrada que se incluirán en la tabla de salida. Si desea generar una clase de entidad, agregue el campo Shape.

Field

Muestra de código

Ejemplo de TransposeFields (ventana de Python)

El siguiente script de la ventana de Python muestra cómo utilizar la herramienta TransposeFields en el modo inmediato.

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")
Ejemplo 2 de TransposeFields (script independiente)

La siguiente secuencia de comandos independiente muestra cómo utilizar la herramienta 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)