Transposer des champs (Gestion des données)

Synthèse

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 champ (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

Transposer les valeurs des données stockées dans les colonnes d’une table ou d’une classe d'entités en lignes
Transposer les valeurs des données stockées dans les colonnes d’une table ou d'une classe d’entités en lignes.

Utilisation

    Attention :

    Cet outil modifie les données en entrée. Pour plus d’informations et connaître les stratégies permettant d’empêcher les modifications de données indésirables, reportez-vous à la rubrique Outils qui modifient ou mettent à jour les données en entrée.

  • Par défaut, la sortie est une table. Si l’entrée est une classe d’entités et que vous souhaitez que la sortie soit également une classe d’entités, ajoutez le champ Shape dans Champs attributaires.

Paramètres

ÉtiquetteExplicationType de données
Table en entrée

La table ou classe d'entités en entrée contenant les champs de valeurs de données à transposer.

Table View
Champs à transposer

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 de champs à transposer sont Pop1991, Pop1992 et ainsi de suite, par défaut, les valeurs de ces champs en sortie sont identiques (Pop1991Pop1991, Pop1992Pop1992, etc.) Vous pouvez toutefois indiquer vos propres valeurs, par exemple 1991 et 1992.

Value Table
Table en sortie

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, la table en sortie est une table. La sortie est une classe d’entités si Table en entrée est une classe d’entités et que le champ Shape est sélectionné dans le paramètre Champs attributaires.

Table
Champ transposé

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
Champ de valeur

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
Champs attributaires
(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 en sortie, ajoutez le champ Shape.

Field

arcpy.management.TransposeFields(in_table, in_field, out_table, in_transposed_field_name, in_value_field_name, {attribute_fields})
NomExplicationType 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 de champs à transposer sont Pop1991, Pop1992 et ainsi de suite, par défaut, les valeurs de ces champs en sortie sont identiques (Pop1991Pop1991, Pop1992Pop1992, etc.) 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 Shape 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 en sortie, ajoutez le champ Shape.

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 la fonction 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)