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
| Nome | Descrizione |
|---|---|
| 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_dfCaricare 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_dfConvertire 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_dfEsempi 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_dfFile 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_dfCaricare 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