Método load_working_file()

Carrega um arquivo de trabalho da área Dados de trabalho para uso por scripts Python/HCL. O arquivo carregado é uma cópia e não o original.

Sintaxe

hcl.load_working_file(name = "nome_do_arquivo_de_trabalho")

Parâmetros

Nome Descrição
name = nome_do_arquivo_de_trabalho

O nome do arquivo de trabalho. O nome deve estar entre aspas.

Você precisa replicar o nome do arquivo na área Dados de trabalho, incluindo a extensão de arquivo. O arquivo e o script que carrega o arquivo precisam estar no mesmo robô.

nome_do_arquivo_de_trabalho não diferencia maiúsculas e minúsculas. Para obter mais informações, consulte Uso de maiúsculas e minúsculas em nomes de arquivos.

Observação

nome_do_arquivo_de_trabalho diferencia maiúsculas e minúsculas em Método save_working_file().

Retorna

Para uma execução bem-sucedida, o código de retorno é 202. Em caso de falha, uma mensagem de erro.

Exemplos

Observação

Você pode carregar qualquer tipo de arquivo compatível da área Dados de trabalho em um robô do HighBond ou de fluxo de trabalho e usá-lo em um script Python/HCL. Arquivos CSV e Excel são usados como exemplos abaixo porque são dois dos tipos mais comuns de arquivos simples usados para armazenar e transferir dados.

Exemplos de CSV

Carregar um arquivo no espaço de Dados de trabalho

Você quer executar uma análise de duplicidades de registros de faturas do T1 de 2022. Os registros estão no arquivo Invoices_Q1_2022.csv, carregado previamente na área Dados de trabalho no robô. No script de análise, você precisa carregar o arquivo antes de poder realizar qualquer análise nele.

hcl.load_working_file(name = "Invoices_Q1_2022.csv")

Carregar um arquivo de trabalho CSV e convertê-lo em um dataframe

Você quer converter um arquivo de trabalho CSV carregado em um dataframe para trabalhar com os dados em um formato tabular usando Python ou HCL.

Carregar um arquivo CSV e convertê-lo em um dataframe do Pandas

# Importar a biblioteca Pandas 
import pandas as pd

# Carregar um arquivo CSV no espaço de Dados de trabalho
hcl.load_working_file(name = "Invoices_Q1_2022.csv") 

# Ler o arquivo CSV para um dataframe do Pandas 
invoices_q1_2022_pd_df = pd.read_csv("Invoices_Q1_2022.csv") 

# Exibir o dataframe do Pandas
invoices_q1_2022_pd_df

Carregar um arquivo CSV e convertê-lo em um dataframe do HCL

# Carregar um arquivo CSV no espaço de Dados de trabalho
hcl.load_working_file(name = "Invoices_Q1_2022.csv")

# Ler o arquivo CSV para um dataframe do HCL
invoices_q1_2022_hcl_df = hcl.read_csv("Invoices_Q1_2022.csv")

# Exibir o dataframe do HCL
invoices_q1_2022_hcl_df

Converter um dataframe do HCL em um dataframe do Pandas

# Converter um dataframe do HCL em um dataframe do Pandas
invoices_q1_2022_pd_df = invoices_q1_2022_hcl_df.to_pandas()

# Exibir o dataframe do Pandas
invoices_q1_2022_pd_df

Carregar um arquivo de trabalho CSV compactado e convertê-lo em um dataframe

Usando o comando ACLScript EXPORT, carregue os dados de uma tabela do Analytics local em um arquivo CSV compactado (*.csv.gz), na área Dados de trabalho em um robô do HighBond ou de fluxo de trabalho. Você quer carregar o arquivo CSV compactado e convertê-lo em um dataframe para trabalhar com os dados em um formato tabular usando Python ou HCL.

# Importar a biblioteca Pandas 
import pandas as pd

# Carregar um arquivo CSV compactado (*.csv.gz) no espaço de Dados de trabalho
hcl.load_working_file(name = "Invoices_Q1_2022.csv.gz")

# Ler o arquivo CSV compactado para um dataframe do Pandas
invoices_q1_2022_pd_df = pd.read_csv("Invoices_Q1_2022.csv.gz", compression="gzip", header=0)

# Exibir o dataframe do Pandas
invoices_q1_2022_pd_df

Exemplos do Excel

Carregar um arquivo de trabalho Excel e convertê-lo em um dataframe

Você quer converter um arquivo de trabalho Excel carregado em um dataframe para trabalhar com os dados em um formato tabular usando Python ou HCL.

Arquivo Excel com uma extensão de arquivo *.xlsx

O exemplo abaixo mostra a conversão do arquivo Excel carregado em um dataframe do Pandas. Se necessário, você pode converter o dataframe do Pandas em um dataframe do HCL, como mostrado no exemplo imediatamente acima.

# Importar a biblioteca Pandas 
import pandas as pd

# Carregar um arquivo Excel (*.xlsx) no espaço de Dados de trabalho
hcl.load_working_file(name = "Invoices_Q1_2022.xlsx") 

# Ler o arquivo Excel para um dataframe do Pandas 
invoices_q1_2022_pd_df = pd.read_excel("Invoices_Q1_2022.xlsx") 

# Exibir o dataframe do Pandas
invoices_q1_2022_pd_df

Arquivo Excel com uma extensão de arquivo *.xls

Para converter um arquivo Excel que usa o formato antigo *.xls, você precisa instalar a biblioteca xlrd do Python.

Observação

Assim como no aplicativo Notebook do Jupyter, você precisa executar a instalação do pacote Python (pip install) em uma célula separada do editor de scripts.

A instalação de pacotes Python externos é compatível com robôs HighBond, mas não com robôs de fluxo de trabalho.

pip install xlrd
# Importar a biblioteca Pandas 
import pandas as pd

# Carregar um arquivo Excel (*.xls) no espaço de Dados de trabalho
hcl.load_working_file(name = "Invoices_Q1_2022.xls") 

# Ler o arquivo Excel para um dataframe do Pandas 
invoices_q1_2022_pd_df = pd.read_excel("Invoices_Q1_2022.xls") 

# Exibir o dataframe do Pandas
invoices_q1_2022_pd_df

Carregar e modificar um arquivo de trabalho Excel

Você quer carregar e modificar e salvar um arquivo de trabalho Excel na área Dados de trabalho. Você pode usar métodos de uma biblioteca Python, como pyexcel, para fazer as modificações sem precisar converter o arquivo Excel em um dataframe do Pandas ou HCL.

Observação

Assim como no aplicativo Notebook do Jupyter, você precisa executar a instalação de cada pacote Python (pip install) em uma célula separada do editor de scripts.

A instalação de pacotes Python externos é compatível com robôs HighBond, mas não com robôs de fluxo de trabalho.

pip install pyexcel
pip install pyexcel-xlsx
# Importar a biblioteca pyexcel
import pyexcel as pe

# Importar o método get_data da biblioteca pyexcel-xlsx
from pyexcel_xlsx import get_data

# Carregar um arquivo Excel no espaço de Dados de trabalho
hcl.load_working_file(name = "Invoices_Q1_2022.xlsx")

# Copiar os dados do Excel para uma planilha do pyexcel
sheet = pe.get_sheet(file_name="Invoices_Q1_2022.xlsx")

# Excluir duas linhas de informações de cabeçalho indesejadas da parte superior da planilha
del sheet.row[0, 1]

# Nomear as colunas usando os valores de nome na primeira linha da planilha
sheet.name_columns_by_row(0)

# Excluir três colunas indesejadas da planilha
del sheet.column['Prodno', 'Quantity', 'Unit_Cost']

# Salvar a planilha do pyexcel em um novo arquivo Excel
sheet.save_as("Invoices_Q1_2022_prepared.xlsx")

# Salvar o novo arquivo Excel no espaço de Dados de trabalho
hcl.save_working_file(name = "Invoices_Q1_2022_prepared.xlsx")

Observações

Área de Dados de trabalho

A área de Dados de trabalho em um robô pode ser acessada em dois locais diferentes na interface do usuário do Robô:

  • A guia Dados de trabalho

  • O painel de Dados de trabalho no editor de script

Ambos os locais fornecem acesso à mesma área central de armazenamento de dados em um robô. As ações que você realiza em um local são sincronizadas automaticamente no outro local.

Geração automática do método load_working_file()

Como recurso para economizar trabalho, o painel Dados de trabalho no editor de script gera automaticamente uma cópia do método load_working_file() com um nome de arquivo específico pré- preenchido:

  • Botão Copiar snippet No painel Dados de trabalho, cada linha contém o botão Copiar snippet . Selecione o botão para copiar um snippet com o método load_working_file() pré-preenchido com o nome do arquivo na linha. Você pode colar o snippet em qualquer célula do editor de script.

  • Célula de criação automática do editor de script Quando você carrega um arquivo no painel Dados de trabalho no editor de script, uma célula contendo o método load_working_file() pré-preenchida com o nome do arquivo é automaticamente criada na parte superior do script. Você pode usar a célula como um ponto de partida, ou copiar o método para outro local no script e, em seguida, excluir a célula.

Comportamento do carregamento de arquivos

Quando carrega um arquivo da área Dados de trabalho para o ambiente de tempo de execução do Python, você está carregando uma cópia e não o arquivo original. Se já houver um arquivo com o mesmo nome e com uso idêntico de maiúsculas e minúsculas no ambiente de tempo de execução, ele será substituído automaticamente.

Uso de maiúsculas e minúsculas em nomes de arquivos

Quando você especifica nome_do_arquivo_de_trabalho, ele não diferencia maiúsculas e minúsculas. Quando você executa um script de forma interativa no editor de scripts, o uso de maiúsculas e minúsculas em nome_do_arquivo_de_trabalho é replicado no painel Arquivos da sessão. Se você carregar o mesmo arquivo duas vezes, usando maiúsculas e minúsculas de forma diferente em cada vez, terá dois arquivos de sessão idênticos com nomes usando maiúsculas e minúsculas de forma diferente. Quando você usa uma tarefa para executar um script, o comportamento é o mesmo.

No entanto, quando um arquivo é carregado no ambiente Python, os nomes de arquivo diferenciam maiúsculas de minúsculas. Portanto, depois de carregar um arquivo de trabalho, qualquer código subsequente precisa usar maiúsculas e minúsculas da mesma forma que o nome do arquivo carregado.

Para evitar erros de script simples causados por diferenças no uso de maiúsculas e minúsculas em nomes de arquivos no carregamento de arquivos, a prática recomendada é replicar o uso de maiúsculas e minúsculas na área Dados de trabalho.

Mensagem de erro do script

Qualquer uma dessas situações causa a mensagem de erro de script abaixo:

  • o arquivo especificado não existe na área Dados de trabalho no robô que contém o script

  • o nome do arquivo está incorreto

  • a extensão do arquivo não foi informada

Mensagem de erro do script:

Exceção: Arquivo não encontrado na seção Trabalho