Transponer campos (Administración de datos)
Resumen
Traslada datos introducidos en campos o columnas a filas en una tabla o clase de entidad.
Esta herramienta es útil cuando la tabla o clase de entidad almacena valores en nombres de campo (como Field1, Field2, Field3) y usted quiere transponer los nombres de campo y los valores de datos correspondientes en los campos a un formato de fila.
Ilustración
Uso
-
Por defecto, la salida es una tabla. Sin embargo, si desea transponer los campos en una clase de entidad, puede elegir obtener como salida una tabla o clase de entidad con los campos transpuestos. Para obtener como salida una clase de entidad, debe elegir el campo Forma en Campos de atributo.
Si la clase de entidad es una entrada, la única manera de obtener una salida de clase de entidad es seleccionar el campo Forma en el parámetro Campos de atributo.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_table |
Tabla o clase de entidad de entrada para la que se van a transponer los campos que contienen los valores de datos. | Table View |
in_field [[field, {value}],...] |
Campos o columnas que contienen los valores de datos en la tabla de entrada que necesitan ser transpuestos. De acuerdo a sus necesidades, puede seleccionar varios campos que necesiten ser transpuestos. Por defecto, el valor es igual al nombre de campo. Sin embargo, puede especificar su propio valor. Por ejemplo, si los nombres de campo de los campos que desea transponer son Pop1991, Pop1992, etc.; por defecto, los valores para estos campos 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 tabla o clase de entidad de salida contendrá el campo transpuesto, un campo de valor y cualquier cantidad de campos de atributos especificados que deben heredarse de la tabla de entrada. Lo que se especifica para out_table será una tabla, a menos que el valor in_table sea una clase de entidad y el campo Forma esté seleccionado en el parámetro attribute_fields. | Table |
in_transposed_field_name |
Nombre del campo que se creará para almacenar valores de nombre de campo de los campos que se seleccionan para ser transpuestos. Se puede utilizar cualquier nombre de campo válido. | String |
in_value_field_name |
Nombre del campo de valor que se creará para almacenar los valores de la tabla de entrada. 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 atributo de la tabla de entrada que se incluirán en la tabla de salida. Si desea obtener como salida una clase de entidad, elija el campo Forma. | Field |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la herramienta Transponer campos 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")
La siguiente secuencia de comandos independiente muestra cómo utilizar la herramienta Transponer campos.
# 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)