UiPath Documentation
process-mining
2021.10
true

Guia do usuário do Process Mining

Última atualização 5 de mai de 2026

Example: Creating a Python Script

Introdução

Este exemplo explica como implantar a interface da plataforma UiPath Process Mining com scripts Python externos para implementar o processamento de dados externo.

Observação:

Os exemplos nesta seção são baseados no python versão 3.

Visão geral de alto nível

Um script Python é criado que:

  • toma como entrada um arquivo .CSV , a ser especificado em sua linha de comando como o único argumento necessário,
  • multiplica o valor Amount por dois,
  • grava o resultado em seu canal de saída padrão.

Etapas

  1. Definir as configurações do servidor;
  2. Configurando o espaço de trabalho;
  3. Configurando uma fonte de dados de script;
  4. Configurando a fonte de dados;
  5. Escrevendo o roteiro.

Definição das configurações dos servidores

A fonte de dados de script genérico requer manipuladores para todos os processos externos que você deseja executar.

Siga estas etapas para adicionar um manipulador de script genérico.

EtapaAção
1Vá para a aba Configurações de Superadmin.
2Adicione um campo GenericScriptHandlers tendo como valor um objeto com uma chave, "py", que tem como valor o caminho para seu executável do Python. Por exemplo: "GenericScriptHandlers": { "py": "P:/Python/bin/python.exe" }
3Clique em SALVAR.

Configuração do espaço de trabalho

Comece criando um script mínimo que ainda não faz nenhum processamento de dados. Esse script será usado para verificar se sua configuração do Python está funcionando e se seu script está sendo chamado a partir da plataforma UiPath Process Mining .

Este script de exemplo mostra como gerar a saída que aparecerá no log de execução do script e como o código de saída de um script influencia o comportamento da plataforma UiPath Process Mining .

Etapa

Ação

1

Em seu editor favorito, inicie um arquivo de texto em branco.

2

Digite o texto a seguir:

#!/usr/bin/python import sys def debug(message): sys.stderr.write(message) debug("Hello world!") sair(1)

Observação: o comando debug(“Hello world!”) é um exemplo de como usar o canal de erro padrão para gerar mensagens e depurar saída.

3

Salve o arquivo de texto como script.py .

4

Carregue o arquivo script.py em seu espaço de trabalho.

Esse script imprime apenas um "Hello World!" mensagem. A interface do script usa a saída padrão para a comunicação de dados do script para a plataforma do UiPath Process Mining . Se você quiser incluir mensagens de status em seu script, você deve escrevê-las no erro padrão .

Observação:

O script de exemplo sai com o código de status 1. Qualquer código de status diferente de 0 será interpretado pela plataforma UiPath Process Mining como uma condição de erro.

Configuração de uma fonte de dados de scripts

Em seguida, configure uma tabela de fonte de dados no aplicativo que chamará o script. Comece com alguns dados fictícios, pois seu script ainda não processará os dados. Nesta etapa, será verificado se o script está sendo executado conforme o esperado, ou seja, se é possível visualizar a mensagem “Hello world!” mensagem.

Etapa

Ação

1

Abra o aplicativo em seu ambiente de desenvolvimento.

2

Vá para a guia Dados e crie uma nova Tabela de strings de conexão.

3

Renomeie o New_table como PythonExample .

4

Clique com o botão direito do mouse na tabela PythonExample e selecione Avançado > Opções....

5

Na caixa de diálogo Opções de tabela , defina o escopo da tabela como Espaço de trabalho .

6

Clique duas vezes na tabela PythonExample para abrir a janela Editar tabela de strings de conexão .

7

Digite o seguinte como String de conexão :

``'driver={mvscript

8

Insira o seguinte como Consulta :

``''

  • '&scriptFile=' + urlencode("script.py")
  • '&inputData=' + urlencode("a;b;c"+#10+"1;2;3"+#10+"4;5;6"+#10)``

O “#10” no exemplo inputData indica caracteres de nova linha. ou seja definimos os seguintes dados CSV fictícios:

"a";"b";"c"

"1";"2";"3"

"4";"5";"6

9

Clique em OK.

10

Clique em SIM.

A atualização da tabela falha e, no log de erros, você deve ver a mensagem “Hello World!” mensagem

O local do arquivo de script é determinado pelo escopo da tabela. Pode ser definido como Servidor , Espaço de trabalho ou Nenhum. Se definido como Nenhum, o caminho para o arquivo de script é absoluto. Se estiver definido como Servidor ou Espaço de trabalho, a localização do script será interpretada como um caminho relativo.

Importante:

Você precisa receber a mensagem de erro "Hello World!" exemplo funcionando para ser capaz de concluir com sucesso as etapas restantes para configurar uma interface com um script python externo.

Configuração da fonte de dados

Para exportar os dados que você deseja processar em um script externo, a primeira etapa é selecionar os campos necessários em seu script python. A maneira de fazer isso é criando uma nova tabela que contém todos os campos que o script python precisa. Esta tabela será exportada no formato .CSV posteriormente para que o script python possa lê-la.

Para este exemplo, temos um aplicativo com uma tabela Casos e uma tabela Eventos . Veja a ilustração abaixo.

Imagem dos documentos

Siga estas etapas.

EtapaAção
1Crie uma nova tabela Global , PythonInputData.
2Adicione um novo atributo de expressão, PythonInputData_Amount.
3Defina o Tipo como Pesquisa.
4Defina a tabela de Entrada como Cases_base.
5Defina a expressão como listtojson(text(double(records.Amount))).
6Defina o nível de expressão como root.
7Clique em OK.
8Adicione outro atributo de expressão de pesquisa para o Case_ID. Defina a expressão como listtojson(text(double(records.Case_ID))).
Observação:

O formato do atributo de expressão de pesquisa deve ser uma lista de strings. Isso ocorre porque a função csvtable() será usada para transformar os dados no formato .CSV , o que espera uma lista de registros (de texto). Como a função listtojson() requer que sua entrada seja do tipo texto, o formato dos registros no arquivo CSV resultante depende do tipo do atributo selecionado (neste caso, Valor é do tipo Moeda), e da exibição atualmente ativa . Aqui, o tipo de moeda é convertido para double, para facilitar a análise dos registros posteriormente no script python.

Escrever o script

Em seu editor de texto, atualize o arquivo script.py com o seguinte código.

#!/usr/bin/pytho
import csv
import sys
def debug(message):
    sys.stderr.write(message)
# Read the CSV header. This is used so that the script will output the fields
# in the same order that they were read in. This step is optional.
column_order = [];
with open(sys.argv[1]) as csv_file:
    reader = csv.reader(csv_file, delimiter=';')
    column_order = next(reader)
# Process the input file
with open(sys.argv[1]) as csv_file:
    reader = csv.DictReader(csv_file, delimiter=';')
    # Construct the output writer.
    writer = csv.DictWriter(
        sys.stdout,
        column_order,
        delimiter=';',
        restval='',
        quoting=csv.QUOTE_ALL
    )
    writer.writeheader()
    for row in reader:
        # Get data from row
        case_id = row['Case_ID']
        amount = int(row['Amount'])
        # Do computation
        amount = amount * 2
        # Write results
        writer.writerow({'Case_ID': case_id, 'Amount': amount})
# Exit indicating success
exit(0)
#!/usr/bin/pytho
import csv
import sys
def debug(message):
    sys.stderr.write(message)
# Read the CSV header. This is used so that the script will output the fields
# in the same order that they were read in. This step is optional.
column_order = [];
with open(sys.argv[1]) as csv_file:
    reader = csv.reader(csv_file, delimiter=';')
    column_order = next(reader)
# Process the input file
with open(sys.argv[1]) as csv_file:
    reader = csv.DictReader(csv_file, delimiter=';')
    # Construct the output writer.
    writer = csv.DictWriter(
        sys.stdout,
        column_order,
        delimiter=';',
        restval='',
        quoting=csv.QUOTE_ALL
    )
    writer.writeheader()
    for row in reader:
        # Get data from row
        case_id = row['Case_ID']
        amount = int(row['Amount'])
        # Do computation
        amount = amount * 2
        # Write results
        writer.writerow({'Case_ID': case_id, 'Amount': amount})
# Exit indicating success
exit(0)

Siga as etapas abaixo.

EtapaAção
1Carregue o novo script para o Espaço de trabalho, substituindo o arquivo existente e volte para o aplicativo.
2Clique com o botão direito do mouse na tabela PythonExample e selecione Editar....
3Modificar o parâmetro inputData da string de consulta para a tabela PythonExample : + '&inputData=' + urlencode(csvtable( "Case_ID", jsontolist(PythonInputData.Case_ID), "Amount" , jsontolist(PythonInputData.Amount), )) Veja a ilustração abaixo.
4Clique em OK.
5Clique em SIM (2x).
6Clique em OK.

Imagem dos documentos

A tabela PythonExample agora tem dois atributos de fonte de dados, Quantidade e Case_ID. Veja a ilustração abaixo.

Imagem dos documentos

A inspeção do atributo Valor revela que todos os valores foram multiplicados por dois. Veja a ilustração abaixo um exemplo da saída gerada pelo script em python.

Imagem dos documentos

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades