Skip to main content

Funções do Python no Alteryx

Importante

As funções abaixo estão disponíveis como parte do pacote Alteryx quando você executa from ayx import Alteryx. As funções permitem que você passe dados entre o Alteryx e o Jupyter.

Ler dados

Alteryx.read("<input connection name>"): retorna os dados de entrada como um pandas DataFrame. As âncoras de entrada são baseadas em 1: "#1", "#2" etc.

Exemplos

df = Alteryx.read("#1") retorna SUCCESS: lendo dados de entrada "#1".

Ler metadados

Alteryx.readMetadata("<input connection name>" or <pandas dataframe>): retorna os metadados do campo de entrada como um dict (dicionário). As âncoras de entrada são baseadas em 1: "#1", "#2" etc.

Exemplos

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

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

Gravar dados

Alteryx.write(<pandas dataframe>, <output anchor number>, [metadata list or dict]): passa o quadro de dados completo para o Alteryx quando o fluxo de trabalho é executado. Opcionalmente, você pode passar metadados como uma lista (usando a ordem das colunas) ou como dict (usando o nomes das colunas). As âncoras de saída são baseadas em 1: "#1", "#2" etc.

Utilize Alteryx.write para gerar a saída de dados da ferramenta Phyton. Para enviar dados para outras ferramentas na tela, use o método como:

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

O método Alteryx.write só aceita quadros de dados do pandas. Se seus dados estiverem em outro formato, utilize a biblioteca do pandas para convertê-los em um quadro de dados. A biblioteca do pandas vem pré-instalada com o Designer. Acesse-a por meio da execução import pandas.

É possível enviar até cinco quadros de dados às âncoras de saída.

Exemplos

  • Alteryx.write(df, 1) retorna SUCCESS: gravando dados de conexão de saída 1.

  • Alteryx.write(df, 2, Alteryx.readMetadata("#1")) retorna SUCCESS: gravando dados de conexão de saída 2.

  • Alteryx.write(df, 3, {'Field1': {'name': 'Field1_as_double', 'type': 'Double'}}) retorna SUCCESS: gravando dados de conexão de saída 3.

  • Alteryx.write(df, 4, [{'name': 'Field1_as_string', 'type': 'V_String', 'length': 8}]) retorna SUCCESS: gravando dados de conexão de saída 4.

Listar conexões de entrada

Alteryx.getIncomingConnectionNames( ): retorna uma lista que contém todas as conexões de dados de entrada. Se as conexões parecerem fora de sincronia, execute novamente o fluxo de trabalho do Alteryx.

Exemplos

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

Instalar pacotes

Alteryx.installPackages("<package name or list of package names>"): instala pacotes do PyPI. É necessária uma conexão com a Internet. Além disso, se estiver usando uma instalação de administrador do Alteryx, o Alteryx deve ser aberto no modo de administrador para instalar pacotes. As instalações de não administrador não têm essa restrição.

Exemplos

  • Alteryx.installPackages("tensorflow")

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

Constantes de fluxo de trabalho

Obter a constante de fluxo de trabalho

Alteryx.getWorkflowConstant("<constant name>"): retorna o valor de uma constante do fluxo de trabalho do Alteryx (você pode acessá-los na guia Fluxo de trabalho em "Configuração do fluxo de trabalho" no Designer).

Importante

Evite utilizar wrappers % em constantes de fluxo de trabalho. Em vez disso, por exemplo, use isto para chamar Engine.WorkflowDirectory:

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

Exemplos

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

Obter todas as constantes

Alteryx.getWorkflowConstants( ): retorna o valor de todas as constantes do fluxo de trabalho do Alteryx em um dict.

Exemplos

Alteryx.getWorkflowConstants() retorna:

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

Alteryx.importPythonModule("<path>", [list of submodules]): retorna um objeto de módulo que representa o arquivo Python ou o diretório especificado. Por padrão, se um diretório for fornecido, todos os submódulos serão importados, mas você pode especificar uma lista de submódulos com o argumento de submódulos opcionais.

Exemplos

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

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

Os fragmentos de código acima são baseados nos seguintes arquivos e pastas:

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)