5. Quelques astuces utiles#

On propose ici quelques manipulations des données des tables en Python récurrentes lorsque de l’on veut aller plus loin dans la génération de courbes depuis Code_Aster .

Extraire de la table issue de POST_RELEVE_Tla liste des nœuds de post-traitement:

Lorsque l’on post-traite une grandeur sur un groupe de nœuds (à plus d’un nœud) pour plusieurs instants, les nœuds apparaissent pour chaque instant, il est donc nécessaire d’extraire la liste de ces nœuds sans répétition.

tabpy = tab.EXTR_TABLE()

Création de l’objet Table Python

tno = tabpy.NOEUD.values()

On extrait les valeurs de la colonne NOEUD

lno = list(set([i.strip() for i in tno]))

Méthode performante pour éliminer les

doublons utilisant set

lno.sort()

Tri par ordre croissant

Construire un ou plusieurs mots-clés dynamiquement:

Ceci peut notamment être utile pour renseigner le mot-clé facteur FILTRE d’IMPR_TABLE en fonction du contexte; on construit dans ce cas un dictionnaire qui est ensuite fourni en argument de la commande.

Ceci:

IMPR_TABLE(

UNITE = unit,

TABLE = tab,

FORMAT = “XMGRACE”,

FILTRE = (_F(NOM_PARA=”NOEUD”,

VALE_K = “N4”,),

_F(NOM_PARA=”NOEUD”,

VALE_K = “N4”,),),

NOM_PARA = (“INST”, “VMIS”),

)

est équivalent à cela:

mfac = {‘FILTRE’ : [{‘NOM_PARA’:‘NOEUD’, ‘VALE_K’: ‘N4’},

{‘NOM_PARA’:‘INTITULE’, ‘VALE_K’: ‘exemple’},],

‘NOM_PARA’ : [‘INST’, ‘VMIS’],

‘UNITE’ : unit,

‘FORMAT’ : “XMGRACE”,}

IMPR_TABLE(

TABLE = tab,

**mfac

)

L’intérêt étant bien entendu de pouvoir construire le dictionnaire comme on le souhaite.

Remarque

Les mots-clés facteurs (ici FILTRE) peuvent être construits en utilisant _F(mot_clé = valeur), mais il est plus souple de les voir comme une liste de dictionnaires.