Résumé
Fait basculer les données stockées dans des champs ou colonnes vers les lignes d'une nouvelle table ou classe d'entités.
Cet outil est utile lorsque votre table ou classe d'entités stocke des valeurs dans des noms de champs (tels que Field1, Field2, Field3) que vous voulez faire pivoter afin de les organiser en lignes. Il vous permet de faire basculer les noms de champs et les valeurs de données correspondantes dans les champs vers des lignes.
Illustration
Utilisation
Par défaut, la sortie est une table. Lorsque l'entrée est une classe d'entités et que vous voulez que la sortie soit également une classe d'entités, ajoutez le champ Forme dans Champs attributaires.
Syntaxe
TransposeFields_management (in_table, in_field, out_table, in_transposed_field_name, in_value_field_name, {attribute_fields})
Paramètre | Explication | Type de données |
in_table | La table ou classe d'entités en entrée contenant les champs de valeurs de données à transposer. | Table View |
in_field [[field, {value}],...] | Les champs ou colonnes contenant les valeurs de données dans la table en entrée qui doivent être transposés. Selon les besoins, vous pouvez sélectionner plusieurs champs à transposer. La valeur présente ici définit la nature du nom de champ dans la sortie. Si aucune valeur n'est spécifiée, la valeur est identique au nom de champ par défaut. Vous pouvez toutefois également spécifier votre propre valeur. Par exemple, si les noms des champs à transposer sont Pop1991, Pop1992 et ainsi de suite, par défaut, les valeurs de ces champs dans la sortie sont identiques (Pop1991, Pop1992 et ainsi de suite). Vous pouvez toutefois indiquer vos propres valeurs, par exemple 1991 et 1992. | Value Table |
out_table | Classe ou table d'entités en sortie. La sortie contiendra un champ transposé, un champ de valeur et le nombre de champs attributaires spécifiés qui doivent être hérités de la table en entrée. Par défaut, out_table est une table. La sortie est une classe d'entités si in_table est une classe d'entités et que le champ Forme est sélectionné dans le paramètre attribute_fields. | Table |
in_transposed_field_name | Le nom du champ qui sera créé pour stocker les noms des champs transposés. N'importe quel nom de champ valide peut être utilisé. | String |
in_value_field_name | Le nom du champ qui sera créé pour stocker les valeurs correspondantes des champs transposés. N'importe quel nom de champ valide peut être défini, tant qu'il n'entre pas en conflit avec des noms de champs présents dans la table ou classe d'entités en entrée. | String |
attribute_fields [attribute_fields,...] (Facultatif) | Les champs attributaires supplémentaires de la table en entrée à inclure dans la table en sortie. Pour générer une classe d'entités, ajoutez le champ Forme. | Field |
Exemple de code
Exemple d'utilisation de la fonction TransposeFields (fenêtre Python)
Le script de fenêtre Python suivant montre comment utiliser l'outil TransposeFields en mode immédiat.
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")
Exemple 2 d'utilisation de la fonction TransposeFields (script autonome)
Le script autonome suivant illustre l'utilisation de l'outil 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)
Environnements
Cet outil n'utilise pas d'environnement de géotraitement.
Informations de licence
- ArcGIS Desktop Basic: Oui
- ArcGIS Desktop Standard: Oui
- ArcGIS Desktop Advanced: Oui