Skip to main content

Funciones de Alteryx Python

Importante

Las siguientes funciones están disponibles como parte del paquete de Alteryx cuando se ejecuta from ayx import Alteryx. Las funciones te permiten transferir datos entre Alteryx y Jupyter.

Leer datos

Alteryx.read("<input connection name>"): devuelve los datos de entrada como un DataFrame de pandas. Las anclas de entrada se basan en 1: "#1", "#2", etc.

Ejemplos

df = Alteryx.read("#1") returns SUCCESS: reading input data "#1".

Leer metadatos

Alteryx.readMetadata("<input connection name>" or <pandas dataframe>): devuelve los metadatos del campo de entrada como un dict. Las anclas de entrada se basan en 1: "#1", "#2", etc.

Ejemplos

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

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

Escribir datos

Alteryx.write(<pandas dataframe>, <output anchor number>, [metadata list or dict]): transfiere el dataframe completo a Alteryx cuando se ejecuta el flujo de trabajo. Puedes transmitir los metadatos de forma opcional, ya sea como una lista (utilizando el orden de columnas) o como un dict (utilizando nombres de columnas). Las anclas de salida se basan en 1: "#1", "#2", etc.

Usa Alteryx.write para generar datos de la herramienta Python. Para enviar datos a otras herramientas en el lienzo, utiliza el método así:

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

El método Alteryx.writesolo acepta Pandas DataFrames. Si tienes datos en otro formato, utiliza la biblioteca de Pandas para convertirlos a un DataFrame. La biblioteca de Pandas ya está instalada con Designer. Accede a ella a través de import pandas.

Puedes enviar hasta cinco DataFrames a los anclajes de salida.

Ejemplos

  • Alteryx.write(df, 1) returns SUCCESS: writing outgoing connection data 1.

  • Alteryx.write(df, 2, Alteryx.readMetadata("#1")) returns SUCCESS: writing outgoing connection data 2.

  • Alteryx.write(df, 3, {'Field1': {'name': 'Field1_as_double', 'type': 'Double'}}) returns SUCCESS: writing outgoing connection data 3.

  • Alteryx.write(df, 4, [{'name': 'Field1_as_string', 'type': 'V_String', 'length': 8}]) returns SUCCESS: writing outgoing connection data 4.

Enumerar conexiones entrantes

Alteryx.getIncomingConnectionNames( ): devuelve una lista que contiene todas las conexiones de datos entrantes. Si las conexiones no parecen sincronizadas, vuelve a ejecutar el flujo de trabajo de Alteryx.

Ejemplos

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

Instalar paquetes

Alteryx.installPackages("<package name or list of package names>"): instala paquetes de PyPI. Se requiere una conexión a Internet. Además, si se utiliza una instalación de administrador de Alteryx, se debe abrir Alteryx en modo de administrador para instalar paquetes. Las instalaciones de no administrador no tienen esta restricción.

Ejemplos

  • Alteryx.installPackages("tensorflow")

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

Constantes de flujo de trabajo

Obtener constante de flujo de trabajo

Alteryx.getWorkflowConstant("<constant name>"): devuelve el valor de una constante de flujo de trabajo de Alteryx (puedes acceder a estas en la pestaña Flujo de trabajo de la Configuración del flujo de trabajo en Designer).

Importante

Evite usar contenedores de % en constantes del flujo de trabajo. En su lugar, por ejemplo, utilice esto para llamar a Engine.WorkflowDirectory:

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

Ejemplos

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

Obtener todas las constantes

Alteryx.getWorkflowConstants( ): devuelve el valor de todas las constantes de flujo de trabajo de Alteryx en un dict.

Ejemplos

Alteryx.getWorkflowConstants() returns:

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

Importar módulos de Python

Alteryx.importPythonModule("<path>", [list of submodules]): devuelve un objeto de módulo que representa el archivo o directorio de Python especificado. De forma predeterminada, si se proporciona un directorio, se importan todos los submódulos, pero puedes especificar una lista de submódulos con el argumento de submódulos opcional.

Ejemplos

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

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

Los fragmentos de código anteriores se basan en los siguientes archivos y carpetas:

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)