[PYTHON] Logique personnalisée IQ Bot: application fractionnée (appliquer à la table, inclure le contrôle des erreurs)

Les bases de Split géré par IQ Bot sont décrites dans cet article.

Ce qui précède ne concerne que les fractionnements pour les champs, et la logique n'intègre pas de contrôle d'erreur, je vais donc l'introduire un peu plus loin ici.

Logique pour appliquer Split à une table

Par exemple, s'il s'agit d'un champ, que se passe-t-il si vous appliquez la logique qui définit field_value = field_value.split (" bank ") [0] au champ?

Lors de l'application d'un fractionnement à une table



#Définition de fonction abstraite
def func_split(value, splitter, index):

    x = value

    if splitter in value:
        y = x.split(splitter)

        if (len(x) + 1) >= index:
            x = y[index]
            
    return x

#Appliquer la fonction
df['Nom de colonne'] = df['Nom de colonne'].apply(func_split, splitter="Banque", index=0)

La "fonction abstraite" ci-dessus inclut non seulement un fractionnement simple, mais également "si la chaîne de caractères d'origine contient le caractère" banque "en premier lieu" et "l'index spécifié dans la liste des résultats de fractionnement". Il comprend également le processus de vérification "s'il peut exister".

De plus, si la vérification ci-dessus est rejetée, la valeur avant le fractionnement est renvoyée telle quelle.

Donc, à proprement parler, ce n'est pas simplement la même chose que field_value = field_value.split (" bank ") [0], mais je pense qu'il est normal d'intégrer une telle considération lors de son utilisation dans la pratique.

Appliquer la fonction au champ

hein? N'est-il pas préférable d'incorporer également ce contrôle d'erreur et ce champ? Vous là-bas qui avez pensé.

Tu as raison. Dans ce cas, définissez le paramètre func_split ci-dessus dans le champ logique personnalisé du champ correspondant, puis appliquez la fonction comme suit.

Lors de l'application d'un fractionnement (avec contrôle d'erreur) à un champ


#Appliquer la fonction
field_value = func_split(field_value, "Banque", 0)

c'est tout!

Comment était-ce?

Si vous avez des questions, laissez un commentaire sur cet article ou contactez-nous via DM sur Twitter.

Recommended Posts

Logique personnalisée IQ Bot: application fractionnée (appliquer à la table, inclure le contrôle des erreurs)
Clé de base de logique personnalisée IQ Bot
Logique personnalisée IQ Bot: supprimez les n dernières lignes du tableau
Logique personnalisée IQ Bot: attribution de valeur fixe
Résumé du traitement lié à la logique personnalisée IQ Bot
IQ Bot Custom Logic: Split (extrait uniquement les noms de banque et de succursale à partir des informations de compte)
IQ Bot Custom Logic (Python): rationalisez les exclusions dans les boucles
Logique personnalisée IQ Bot: correction des habitudes de lecture courantes sur les dates
IQ Bot Custom Logic (Python): rationaliser le traitement de remplacement en boucle