Transposer des champs (Gestion des données)

Synthèse

Transpose des données stockées dans des champs ou colonnes dans des lignes dans une nouvelle table ou classe d’entités.

Cet outil est utile lorsqu’une 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

Illustration de l’outil Transposer des champs
Transposer les valeurs de données stockées dans les colonnes d’une table ou classe d’entités dans des 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 la sortie doit être une classe d’entités, ajoutez le champ Shape au paramètre Attribute Fields (Champs attributaires).

Paramètres

ÉtiquetteExplicationType de données
Input Table (Table en entrée)

Table ou classe d’entités en entrée contenant les champs de valeurs de données à transposer.

Table View
Champs à transposer

Champs ou colonnes de la table en entrée contenant les valeurs de données à transposer.

Selon vos exigences, vous pouvez sélectionner plusieurs champs à transposer. La valeur présente ici définit la nature du nom de champ dans la sortie. Si cette valeur n’est pas renseignée, la valeur par défaut est identique au nom de champ. Vous pouvez toutefois indiquer une valeur. Par exemple, si les noms de champ à transposer sont Pop1991, Pop1992, etc., les valeurs de ces champs dans la sortie seront identiques (Pop1991, Pop1992, et ainsi de suite) par défaut. Toutefois, vous pouvez indiquer des valeurs telles que 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 valeur est une table. La sortie est une classe d’entités lorsque la valeur de Input Table (Table en entrée) est une classe d’entités et que le champ Shape est spécifié dans le paramètre Attribute Fields (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. Nimporte quel nom de champ valide peut être utilisé, tant qu’il n’entre pas en conflit avec les noms de champ existants dans la table ou classe d’entités en entrée.

String
Champs attributaires
(Facultatif)

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

Table ou classe d’entités en entrée contenant les champs de valeurs de données à transposer.

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

Champs ou colonnes de la table en entrée contenant les valeurs de données à transposer.

Selon vos exigences, vous pouvez sélectionner plusieurs champs à transposer. La valeur présente ici définit la nature du nom de champ dans la sortie. Si cette valeur n’est pas renseignée, la valeur par défaut est identique au nom de champ. Vous pouvez toutefois indiquer une valeur. Par exemple, si les noms de champ à transposer sont Pop1991, Pop1992, etc., les valeurs de ces champs dans la sortie seront identiques (Pop1991, Pop1992, et ainsi de suite) par défaut. Toutefois, vous pouvez indiquer des valeurs telles que 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, la valeur est une table. La sortie est une classe d’entités lorsque la valeur de in_table est une classe d’entités et que le champ Shape est spécifié 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. Nimporte quel nom de champ valide peut être utilisé, tant qu’il n’entre pas en conflit avec les noms de champ existants dans la table ou classe d’entités en entrée.

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

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 Shape.

Field

Exemple de code

Exemple 1 d’utilisation de la fonction TransposeFields (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l’utilisation de la fonction TransposeFields en mode immédiat.

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")
Exemple 2 d'utilisation de la fonction TransposeFields (script autonome)

Le script autonome ci-dessous illustre l’utilisation de la fonction 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)

Rubriques connexes