Transposer les champs (Gestion des données)
Récapitulatif
Déplace les données saisies dans les champs ou les colonnes dans les enregistrements d'une table ou d'une classe d'entités.
Cet outil est utile lorsque votre table ou classe d'entités stocke des valeurs dans les noms de champ (comme Champ1, Champ2, Champ3) et que vous souhaitez transposer les noms de champ et les valeurs des données correspondantes dans un format d'enregistrement.
Illustration
Utilisation
-
Par défaut, la sortie est une table. Toutefois, si vous souhaitez transposer les champs dans une classe d'entités, vous pouvez choisir de générer en sortie une table ou une classe d'entités contenant les champs transposés. Pour obtenir une classe d'entités en sortie, vous devez choisir le champ Forme sous Champs attributaires.
Si la classe d'entités est une entrée, la seule façon d'obtenir une classe d'entités en sortie consiste à sélectionner le champ Forme dans le paramètre Champs attributaires.
Syntaxe
Paramètre | Explication | Type de données |
in_table |
Table ou classe d'entités en entrée pour laquelle les champs contenant les valeurs des données sont transposés. | Table View |
in_field [[field, {value}],...] |
Champs ou colonnes contenant les valeurs des données dans la table en entrée devant être transposés. Selon vos besoins, vous pouvez sélectionner plusieurs champs parmi les champs à transposer. Par défaut, la valeur est identique au nom de champ. Toutefois, vous pouvez choisir de spécifier votre propre valeur. Par exemple, si les noms de champ des champs que vous souhaitez transposer sont Pop1991, Pop1992, etc., les valeurs de ces champs sont identiques par défaut (Pop1991, Pop1992, etc.). Toutefois, vous pouvez choisir de spécifier vos propres valeurs comme 1991 et 1992. | Value Table |
out_table | Classe ou table d'entités en sortie. La table ou la classe d'entités en sortie contiendra le champ transposé, un champ de valeur, et tous les champs attributaires indiqués devant être hérités de la table en entrée. Ce qui est indiqué pour la table en sortie sera une table, à moins que la valeur de la table en entrée ne soit une classe d'entités et que le champ Forme soit sélectionné dans le paramètre Champs attributaires. | Table |
in_transposed_field_name |
Nom du champ qui sera créer pour stocker les valeurs nom de champ des champs sélectionnés pour être transposés. Tout nom de champ valide peut être utilisé. | String |
in_value_field_name |
Nom du champ de valeur qui sera créé pour stocker les valeurs issues de la table en entrée. Vous pouvez définir n'importe quel nom de champ valide, dès lors qu'il ne crée pas de conflit avec des noms de champ existants issus de la table ou de la classe d'entités en entrée. | String |
attribute_fields [attribute_fields,...] (Facultatif) |
Champs attributaires de la table en entrée à inclure dans la table en sortie. Si vous souhaitez une classe d'entités en sortie, choisissez le champ Forme. | Field |
Exemple de code
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")
Le script autonome suivant montre comment utiliser 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)