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)
