Skip to main content

Fonctions Python d'Alteryx

Important

Les fonctions ci-dessous sont disponibles dans le package Alteryx lorsque vous exécutez from ayx import Alteryx. Les fonctions vous permettent de transmettre des données entre Alteryx et Jupyter.

Lire des données

Alteryx.read("<input connection name>") : renvoie les données d'entrée sous la forme d'une trame de données pandas. Les ancrages d'entrée sont basés sur 1 : « #1 », « #2 », etc.

Exemples

df = Alteryx.read("#1") renvoie SUCCÈS : lecture des données d'entrée « #1 ».

Lire les métadonnées

Alteryx.readMetadata("<input connection name>" or <pandas dataframe>) : renvoie les métadonnées du champ d'entrée sous forme de dict. Les ancrages d'entrée sont basés sur 1 : « #1 », « #2 », etc.

Exemples

  • md = Alteryx.readMetadata("#1"); print(md); renvoie {'Field1': {'type': 'Byte', 'length': 1, 'source': 'TextInput:', 'description': ''}}.

  • md = Alteryx.readMetadata(df); print(md); renvoie {'Field1': {'type': 'Byte', 'length': 1, 'source': '', 'description': ''}}.

Écrire des données

Alteryx.write(<pandas dataframe>, <output anchor number>, [metadata list or dict]) : transmet la trame de données complète à Alteryx lorsque le workflow est exécuté. Vous pouvez également transmettre des métadonnées, soit sous forme de liste (en utilisant l'ordre des colonnes), soit sous forme de dict (en utilisant les noms des colonnes). Les ancrages de sortie sont basés sur 1 : « #1 », « #2 », etc.

Utilisez Alteryx.write pour extraire les données de l'outil Python. Pour envoyer des données à d'autres outils du canevas, utilisez une méthode comme ceci :

# Replace "PANDAS_DF" with your data, in DataFrame form.
# Replace "OUTPUT_ANCHOR_NUM" with the number of your output anchor.
Alteryx.write(PANDAS_DATAFRAME, OUTPUT_ANCHOR_NUM)

La méthode Alteryx.write accepte uniquement les trame de données pandas. Si vous avez des données dans un autre format, utilisez la bibliothèque Pandas pour les convertir en trame de données. La bibliothèque Pandas est déjà installée avec Designer. Accédez-y via importer pandas.

Vous pouvez envoyer jusqu'à cinq trames de données vers les ancrages de sortie.

Exemples

  • Alteryx.write(df, 1) Renvoie SUCCESS : écriture des données de connexion sortante 1.

  • Alteryx.write(df, 2, Alteryx.readMetadata("#1")) renvoie SUCCESS : écriture des données de connexion sortante 2.

  • Alteryx.write(df, 3, {'Field1': {'name': 'Field1_as_double', 'type': 'Double'}}) Renvoie SUCCESS : écriture des données de connexion sortante 3.

  • Alteryx.write(df, 4, [{'name': 'Field1_as_string', 'type': 'V_String', 'length': 8}]) Renvoie SUCCESS : écriture des données de connexion sortante 4.

Répertorier les connexions entrantes

Alteryx.getIncomingConnectionNames( ) : renvoie une liste contenant toutes les connexions aux données entrantes. Si les connexions semblent non synchronisées, réexécutez le workflow Alteryx.

Exemples

Alteryx.getIncomingConnectionNames() renvoie ["#1", "#2", "model"].

Installer des packages

Alteryx.installPackages("<package name or list of package names>") : installe les packages à partir de PyPi. Une connexion Internet est obligatoire. En outre, si vous utilisez une installation administrateur de Alteryx, Alteryx doit être ouvert en mode administrateur pour installer les packages. Les installations non-administrateur n'ont pas cette restriction.

Exemples

  • Alteryx.installPackages("tensorflow")

  • Alteryx.installPackages(["keras","theano","gensim"])

Constantes de workflow

Obtenir la constante de workflow

Alteryx.getWorkflowConstant("<constant name>") : renvoie la valeur d'une constante de workflow Alteryx (vous pouvez y accéder dans l'onglet Workflow de la configuration du workflow dans Designer).

Important

Évitez d'utiliser des wrappers % dans les constantes du workflow. Utilisez plutôt ceci, par exemple, pour appeler Engine.WorkflowDirectory :

from ayx import Alteryx
Alteryx.getWorkflowConstant("Engine.WorkflowDirectory")

Exemples

Alteryx.getWorkflowConstant("Engine.TempFilePath") renvoie 'C:\Users\myuser\AppData\Local\Temp\Engine_17376_1afec4920f674e3a8c29be6225048da8_\'.

Obtenir toutes les constantes

Alteryx.getWorkflowConstants( ) : renvoie la valeur de toutes les constantes de workflow Alteryx dans un dict.

Exemples

Alteryx.getWorkflowConstants() renvoie :

{
'Engine.GuiInteraction': '1',
'Engine.IterationNumber': 0,
'Engine.ModuleDirectory': 'C:\my_workflows\',
'Engine.TempFilePath': 'C:\Users\myuser\AppData\Local\Temp\Engine_17376_1afec4920f674e3a8c29be6225048da8_\',
'Engine.Version': '2018.3.0.9999',
'Engine.WorkflowDirectory': 'C:\my_workflows\',
'Engine.WorkflowFileName': 'my_workflow.yxmd'
}

Importer des modules Python

Alteryx.importPythonModule("<path>", [list of submodules]) : renvoie un objet module qui représente le fichier ou le répertoire Python spécifié. Par défaut, si un répertoire est fourni, tous les sous-modules sont importés, mais vous pouvez spécifier une liste de sous-modules avec l'argument facultatif submodules.

Exemples

  • myscript = Alteryx.importPythonModule("C:\\documents\\my_script.py")myscript.square(3) renvoie 9.

  • mypkg = Alteryx.importPythonModule("C:\\documents\\my_package")mypkg.module1.half( mypkg.subpkg.max_value ) renvoie 4

Les extraits de code ci-dessus sont basés sur les fichiers et dossiers suivants :

C:\documents  
C:\documents\my_script.py  
^^^ (contains a function square() that returns the input value squared)  
C:\documents\my_package  
C:\documents\my_package\__init__.py  
C:\documents\my_package\module1.py  
^^^ (contains a function half() that returns half of the input value)  
C:\documents\my_package\subpkg  
C:\documents\my_package\subpkg\__init__.py  
^^^ (contains a variable max_value = 8)