Skip to main content

Alteryx Python-Funktionen

Wichtig

Die folgenden Funktionen sind als Teil des Alteryx-Pakets verfügbar, wenn Sie from ayx import Alteryx ausführen. Die Funktionen ermöglichen die Datenübertragung zwischen Alteryx und Jupyter.

Daten lesen

Alteryx.read("<input connection name>"): Gibt die Eingabedaten als Pandas DataFrame zurück. Eingabeanker sind 1-basiert: „#1“, „#2“ usw.

Beispiele

df = Alteryx.read("#1") gibt SUCCESS zurück: Eingabedaten „#1“ werden gelesen.

Metadaten lesen

Alteryx.readMetadata("<input connection name>" or <pandas dataframe>): Gibt die Metadaten des Eingabefelds als Wörterbuch zurück. Eingabeanker sind 1-basiert: „#1“, „#2“ usw.

Beispiele

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

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

Daten schreiben

Alteryx.write(<pandas dataframe>, <output anchor number>, [metadata list or dict]): Überträgt den gesamten Datenrahmen an Alteryx, wenn der Workflow ausgeführt wird. Sie können Metadaten optional als Liste (mit Spaltenreihenfolge) oder Wörterbuch (mit Spaltennamen) übertragen. Ausgabeanker sind 1-basiert: „#1“, „#2“ usw.

Verwenden Sie Alteryx.write, um Daten aus dem Python-Tool auszugeben. Um Daten an andere Tools auf dem Canvas zu senden, verwenden Sie die folgende Methode:

# 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)

Die Alteryx.write-Methode akzeptiert nur Pandas DataFrames (Datenrahmen). Wenn Sie Daten in einem anderen Format haben, verwenden Sie die Pandas-Bibliothek, um sie in einen DataFrame zu konvertieren. Die Pandas-Bibliothek ist bereits mit Designer installiert. Greifen Sie über Pandas importieren darauf zu.

Sie können bis zu fünf DataFrames an die Ausgabeanker senden.

Beispiele

  • Alteryx.write(df, 1) Gibt SUCCESS zurück: Ausgehende Verbindungsdaten 1 werden geschrieben.

  • Alteryx.write(df, 2, Alteryx.readMetadata("#1")) gibt SUCCESS zurück: Ausgehende Verbindungsdaten 2 werden geschrieben.

  • Alteryx.write(df, 3, {'Field1': {'name': 'Field1_as_double', 'type': 'Double'}}) Gibt SUCCESS zurück: Ausgehende Verbindungsdaten 3 werden geschrieben.

  • Alteryx.write(df, 4, [{'name': 'Field1_as_string', 'type': 'V_String', 'length': 8}]) Gibt SUCCESS zurück: Ausgehende Verbindungsdaten 4 werden geschrieben.

Eingehende Verbindungen auflisten

Alteryx.getIncomingConnectionNames( ): Gibt eine Liste mit allen eingehenden Datenverbindungen zurück. Wenn die Verbindungen nicht mehr synchron sind, führen Sie den Alteryx-Workflow erneut aus.

Beispiele

Alteryx.getIncomingConnectionNames() Gibt [„#1“, „#2“, „Model“] zurück.

Pakete installieren

Alteryx.installPackages("<package name or list of package names>"): Installiert Pakete von PyPI. Eine Internetverbindung ist erforderlich. Wenn Sie Alteryx als Administrator installieren, muss Alteryx im Admin-Modus geöffnet werden, um Pakete zu installieren. Nicht-Admin-Installationen haben diese Einschränkung nicht.

Beispiele

  • Alteryx.installPackages("tensorflow")

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

Workflowkonstanten

Workflowkonstante abrufen

Alteryx.getWorkflowConstant("<constant name>"): Gibt den Wert einer Alteryx-Workflow-Konstante zurück (diese können Sie in Designer auf der Registerkarte Workflow der Workflow-Konfiguration aufrufen).

Wichtig

Vermeiden Sie die Verwendung von %-Wrappern in Workflow-Konstanten. Verwenden Sie stattdessen beispielsweise diesen Ausdruck, um das Engine.WorkflowDirectory aufzurufen:

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

Beispiele

Alteryx.getWorkflowConstant("Engine.TempFilePath") Gibt „C:\Users\myuser\AppData\Local\Temp\Engine_17376_1afec4920f674e3a8c29be6225048da8_\“ zurück.

Alle Konstanten abrufen

Alteryx.getWorkflowConstants( ): Gibt den Wert aller Alteryx-Workflow-Konstanten in einem Wörterbuch zurück.

Beispiele

Alteryx.getWorkflowConstants() gibt zurück:

{
'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'
}

Python-Module importieren

Alteryx.importPythonModule("<path>", [list of submodules]): Gibt ein Modulobjekt zurück, das die angegebene Python-Datei oder das angegebene Verzeichnis darstellt. Wenn ein Verzeichnis angegeben wird, werden standardmäßig alle Untermodule importiert. Sie können jedoch eine Liste der Untermodule mit dem optionalen Untermodulargument angeben.

Beispiele

  • myscript = Alteryx.importPythonModule("C:\\documents\\my_script.py")myscript.square(3) gibt 9 zurück.

  • mypkg = Alteryx.importPythonModule("C:\\documents\\my_package")mypkg.module1.half( mypkg.subpkg.max_value ) gibt 4 zurück.

Die oben genannten Code-Snippets basieren auf den folgenden Dateien und Ordnern:

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)