0 / 0
Retourner à la version anglaise de la documentation
Bouclage dans les noeuds
Dernière mise à jour : 07 oct. 2024
Bouclage dans les noeuds

Vous pouvez utiliser une boucle for pour boucler l'ensemble des noeuds d'un flux. Par exemple, les deux exemples de script suivants parcourent en boucle tous les noeuds et modifient les noms de champ des noeuds Filtrer en majuscules.

Vous pouvez utiliser ce script dans n'importe quel flux contenant un noeud filtre, même si aucun champ n'est réellement filtré. Ajoutez simplement un noeud Filtrer qui transmet tous les champs afin de remplacer les noms de champ par des majuscules dans tous les champs.

# Alternative 1: using the data model nameIterator() function
stream = modeler.script.stream()
for node in stream.iterator():
    if (node.getTypeName() == "filter"):
        # nameIterator() returns the field names
        for field in node.getInputDataModel().nameIterator():
            newname = field.upper()
            node.setKeyedPropertyValue("new_name", field, newname)
# Alternative 2: using the data model iterator() function
stream = modeler.script.stream()
for node in stream.iterator():
    if (node.getTypeName() == "filter"):
        # iterator() returns the field objects so we need
        # to call getColumnName() to get the name
        for field in node.getInputDataModel().iterator():
            newname = field.getColumnName().upper()
            node.setKeyedPropertyValue("new_name", field.getColumnName(), newname)

Le script effectue des boucles dans tous les noeuds du flux en cours et vérifie si chaque noeud est un filtre. Si tel est le cas, le script parcourt en boucle chaque zone du noeud et utilise la fonction field.upper() ou field.getColumnName().upper() pour remplacer le nom par des majuscules.

Recherche et réponse à l'IA générative
Ces réponses sont générées par un modèle de langue de grande taille dans watsonx.ai en fonction du contenu de la documentation du produit. En savoir plus