metodo ‎load_working_file()‎

Viene caricato un file di lavoro dall'area Dati di lavoro per renderlo disponibile per gli script Python/HCL. Il file caricato è una copia, non l'originale.

Sintassi

hcl.load_working_file(name = "working_file_name")

Parametri

NomeDescrizione
name = working_file_name

Il nome del file di lavoro. Il nome deve essere racchiuso tra virgolette.

È necessario replicare esattamente il nome del file nella scheda Dati di lavoro, inclusa l'estensione del file. Il file e lo script che carica il file devono trovarsi nello stesso robot.

working_file_name distingue tra maiuscole e minuscole. Per ulteriori informazioni, consulta .

Nota

working_file_name distingue tra maiuscole e minuscole nel ‎Metodo‎ save_working_file().

Restituisce

In caso di esito positivo, il codice di ritorno 202. In caso di errore, un messaggio di errore.

Esempi

Nota

È possibile caricare qualsiasi tipo di file supportato dalla scheda Dati di lavoro in un robot HighBond o del workflow e utilizzarlo in uno script Python/HCL. Di seguito vengono utilizzati come esempi i file CSV ed Excel perché sono due dei tipi più comuni di file flat utilizzati per archiviare e trasferire dati.

Esempi CSV

Caricare un file dalla scheda Dati di lavoro

Si desidera eseguire un'analisi dei duplicati dei record delle fatture del primo trimestre del 2022. I record sono contenuti nel file Invoices_Q1_2022.csv precedentemente caricato nell'area Dati di lavoro nel robot. Nello script di analisi, è necessario caricare il file prima di poter eseguire qualsiasi analisi.

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

Caricare un file di lavoro CSV e convertilo in un dataframe

Si desidera convertire un file di lavoro CSV caricato in un dataframe in modo da poter lavorare con i dati in un formato tabellare utilizzando Python o HCL.

Caricare un file CSV e convertilo in un dataframe Pandas

# Import the Pandas library 
import pandas as pd

# Load a CSV file from the Working data area
hcl.load_working_file(name = "Invoices_Q1_2022.csv") 

# Read the CSV file to a Pandas dataframe 
invoices_q1_2022_pd_df = pd.read_csv("Invoices_Q1_2022.csv") 

# Display the Pandas dataframe
invoices_q1_2022_pd_df

Caricare un file CSV e convertilo in un dataframe HCL

# Load a CSV file from the Working data area
hcl.load_working_file(name = "Invoices_Q1_2022.csv")

# Read the CSV file to an HCL dataframe
invoices_q1_2022_hcl_df = hcl.read_csv("Invoices_Q1_2022.csv")

# Display the HCL dataframe
invoices_q1_2022_hcl_df

Convertire un dataframe HCL in un dataframe Pandas

# Convert an HCL dataframe to a Pandas dataframe
invoices_q1_2022_pd_df = invoices_q1_2022_hcl_df.to_pandas()

# Display the Pandas dataframe
invoices_q1_2022_pd_df

Caricare un file di lavoro CSV compresso e convertilo in un dataframe

Utilizzando il comando ACLScript EXPORT, è possibile caricare i dati in una tabella di Analytics locale in un file CSV compresso (*.csv.gz) nell'area Dati di lavoro in un robot HighBond o del workflow. Si desidera caricare il file CSV compresso e convertirlo in un dataframe in modo da poter lavorare con i dati in un formato tabellare utilizzando Python o HCL.

# Import the Pandas library 
import pandas as pd

# Load a compressed CSV file (*.csv.gz) from the Working data area
hcl.load_working_file(name = "Invoices_Q1_2022.csv.gz")

# Read the compressed CSV file to a Pandas dataframe
invoices_q1_2022_pd_df = pd.read_csv("Invoices_Q1_2022.csv.gz", compression="gzip", header=0)

# Display the Pandas dataframe
invoices_q1_2022_pd_df

Esempi Excel

Caricare un file di lavoro Excel e convertilo in un dataframe

Si desidera convertire un file di lavoro Excel caricato in un dataframe in modo da poter lavorare con i dati in un formato tabellare utilizzando Python o HCL.

File Excel con estensione *.xlsx

L'esempio seguente mostra la conversione del file Excel caricato in un dataframe Pandas. Se necessario, è possibile convertire il dataframe Pandas in un dataframe HCL, come mostrato nell'esempio immediatamente sopra.

# Import the Pandas library 
import pandas as pd

# Load an Excel file (*.xlsx) from the Working data area
hcl.load_working_file(name = "Invoices_Q1_2022.xlsx") 

# Read the Excel file to a Pandas dataframe 
invoices_q1_2022_pd_df = pd.read_excel("Invoices_Q1_2022.xlsx") 

# Display the Pandas dataframe
invoices_q1_2022_pd_df

File Excel con estensione *.xls

Per convertire un file Excel che utilizza il vecchio formato *.xls è prima necessario installare la libreria Python xlrd.

Nota

Analogamente all'applicazione Jupyter Notebook, è necessario eseguire l'installazione del pacchetto Python (pip install) in una cella separata dell'editor di script.

L'installazione di pacchetti Python esterni è supportata nei robot HighBond ma non nei robot del workflow.

pip install xlrd
# Import the Pandas library 
import pandas as pd

# Load an Excel file (*.xls) from the Working data area
hcl.load_working_file(name = "Invoices_Q1_2022.xls") 

# Read the Excel file to a Pandas dataframe 
invoices_q1_2022_pd_df = pd.read_excel("Invoices_Q1_2022.xls") 

# Display the Pandas dataframe
invoices_q1_2022_pd_df

Caricare un file di lavoro Excel e modificarlo

Si desidera caricare un file di lavoro Excel, modificarlo e quindi salvarlo nuovamente nella scheda Dati di lavoro. È possibile utilizzare metodi di una libreria Python come pyexcel per apportare modifiche senza dover convertire il file Excel in un dataframe Pandas o HCL.

Nota

Analogamente all'applicazione Jupyter Notebook, è necessario eseguire l'installazione del pacchetto Python (pip install) in una cella separata dell'editor di script.

L'installazione di pacchetti Python esterni è supportata nei robot HighBond ma non nei robot del workflow.

pip install pyexcel
pip install pyexcel-xlsx
# Import the pyexcel library
import pyexcel as pe

# Import the get_data method from the pyexcel-xlsx library
from pyexcel_xlsx import get_data

# Load an Excel file from the Working data area
hcl.load_working_file(name = "Invoices_Q1_2022.xlsx")

# Copy the Excel data to a pyexcel sheet
sheet = pe.get_sheet(file_name="Invoices_Q1_2022.xlsx")

# Delete two rows of unwanted header information from the top of the worksheet
del sheet.row[0, 1]

# Name the columns using the name values in what is now the first row in the worksheet
sheet.name_columns_by_row(0)

# Delete three unwanted columns from the worksheet
del sheet.column['Prodno', 'Quantity', 'Unit_Cost']

# Save the pyexcel sheet to a new Excel file
sheet.save_as("Invoices_Q1_2022_prepared.xlsx")

# Save the new Excel file to the Working data area
hcl.save_working_file(name = "Invoices_Q1_2022_prepared.xlsx")

Osservazioni

Area Dati di lavoro

L'area Dati di lavoro in un robot è accessibile in due punti diversi dell'interfaccia utente di Robot:

  • Scheda Dati di lavoro

  • Pannello Dati di lavoro nell'editor di script

Entrambe le posizioni consentono di accedere alla stessa area di archiviazione dati centrale di un robot. Le azioni eseguite in una posizione vengono automaticamente sincronizzate nell'altra.

Generazione automatica del metodo load_working_file()

Come funzione di risparmio di manodopera, il pannello Dati di lavoro nell'editor di script genera automaticamente una copia del metodo load_working_file() con un nome di file specifico precompilato:

  • Pulsante Copia snippetNel pannello Dati di lavoro, ogni riga contiene il pulsante Copia snippet . Selezionare il pulsante per copiare uno snippet con il metodo load_working_file() precompilato con il nome del file nella riga. È possibile incollare il frammento in qualsiasi cella dell'editor di script.

  • Creazione automatica della cella dell'editor di scriptQuando si carica un file nel pannello Dati di lavoro nell'editor di script, una cella contenente il metodo load_working_file() precompilato con il nome del file viene creata automaticamente all'inizio dello script. È possibile utilizzare la cella come punto di partenza oppure copiare il metodo in un'altra posizione dello script e quindi eliminare la cella.

Comportamento di caricamento del file

Quando si carica un file dalla scheda Dati di lavoro nell'ambiente di runtime Python, si carica una copia, non il file originale. Se nell'ambiente di runtime esiste già un file con lo stesso nome e la stessa lettera maiuscola/minuscola, questo viene automaticamente sovrascritto.

Maiuscole/minuscole dei nomi dei file

Quando si specifica working_file_name non si fa distinzione tra maiuscole e minuscole. Quando si esegue uno script in modo interattivo nell'editor di script, qualsiasi carattere maiuscolo o minuscolo utilizzato per working_file_name viene replicato nel pannello File di sessione. Se si carica lo stesso file due volte e ogni volta si utilizza una diversa combinazione di maiuscole e minuscole per il nome del file, si ottengono due file di sessione identici con nomi con maiuscole e minuscole diverse. Il comportamento è lo stesso quando si utilizza un'attività per eseguire uno script.

Tuttavia, una volta caricato un file nell'ambiente Python, i nomi dei file distinguono tra maiuscole e minuscole. Quindi, dopo aver caricato un file di lavoro, qualsiasi codice successivo dovrà replicare la formattazione maiuscola o minuscola utilizzata quando è stato caricato il file.

Per evitare semplici errori di script causati da nomi di file con maiuscole e minuscole non corrispondenti, la procedura consigliata quando si carica un file di lavoro è quella di replicare le maiuscole e minuscole del nome del file nella scheda Dati di lavoro.

Messaggio di errore dello script

Ognuna di queste situazioni produce il messaggio di errore dello script mostrato di seguito:

  • il file specificato non esiste nella scheda Dati di lavoro nel robot contenente lo script

  • il nome del file è scritto in modo errato

  • manca l'estensione del file

Messaggio di errore dello script:

Eccezione: File non trovato nella sezione di lavoro