Méthode load_working_file()
Charge un fichier de l'onglet Données de travail pour le rendre accessible lors de la création de scripts Python/HCL. Le fichier chargé est une copie et non l'original.
Syntaxe
hcl.load_working_file(name = "nom_fichier_travail")
Paramètres
Nom | Description |
---|---|
name = nom_fichier_travail |
Le nom du fichier de travail. Le nom doit être entouré de guillemets. Vous devez répliquer exactement le nom du fichier dans l'onglet Données de travail, y compris son extension. Le fichier et le script chargeant le fichier doivent se trouver dans le même robot. nom_fichier_travail ne respecte pas la casse. Pour plus d'informations, consultez la section Casse des noms de fichiers. Remarque nom_fichier_travail respecte la casse dans la section Méthode save_working_file(). |
Renvoie
En cas de succès, le code de retour 202. En cas d'échec, un message d'erreur.
Exemples
Remarque
Vous pouvez charger tout type de fichier pris en charge à partir de l'onglet Données de travail dans un robot HighBond ou Flux de travail, puis l'utiliser dans un script Python/HCL. Les fichiers CSV ou Excel sont utilisés en tant qu'exemples ci-dessous, car ils font partie des deux principaux types de fichiers plats utilisés pour stocker et transférer les données.
Exemples de CSV
Charger un fichier depuis l'onglet Données de travail
Vous souhaitez effectuer une analyse des doublons des enregistrements de facture du premier trimestre 2022. Les enregistrements sont contenus dans le fichier Factures_T1_2022.csv qui a été précédemment chargé dans l'onglet Données de travail dans le robot. Dans le script d'analyse, vous devez d'abord charger le fichier avant de pouvoir faire des analyses.
hcl.load_working_file(name = "Factures_T1_2022.csv")
Charger un fichier de travail CSV et le convertir dans un cadre de données
Vous souhaitez convertir un fichier de travail CSV chargé dans un cadre de données pour pouvoir utiliser les données sous forme de tableau à l'aide de Python ou de HCL.
Charger un fichier CSV et le convertir dans un cadre de données Pandas
# Importer la bibliothèque Pandas import pandas as pd # Charger un fichier CSV depuis l'onglet Données de travail hcl.load_working_file(name = "Factures_T1_2022.csv") # Lire le fichier CSV dans un cadre de données Pandas invoices_q1_2022_pd_df = pd.read_csv("Factures_T1_2022.csv") # Afficher le cadre de données Pandas invoices_q1_2022_pd_df
Charger un fichier CSV et le convertir dans un cadre de données Pandas
# Charger un fichier CSV depuis l'onglet Données de travail hcl.load_working_file(name = "Factures_T1_2022.csv") # Lire le fichier CSV dans un cadre de données HCL invoices_q1_2022_hcl_df = hcl.read_csv("Factures_T1_2022.csv") # Afficher le cadre de données HCL invoices_q1_2022_pd_df
Convertir un cadre de données HCL en cadre de données Pandas
# Convertir un cadre de données HCL en cadre de données Pandas invoices_q1_2022_pd_df = invoices_q1_2022_hcl_df.to_pandas() # Afficher le cadre de données Pandas invoices_q1_2022_pd_df
Charger un fichier de travail CSV compressé et le convertir dans un cadre de données
Avec la commande ACLScript EXPORT, vous importez les données d'une table Analytics locale vers un fichier CSV compressé (*.csv.gz) dans l'onglet Données de travail dans un robot HighBond ou de flux de données. Vous souhaitez charger un fichier de travail CSV et le convertir dans un cadre de données pour pouvoir utiliser les données sous forme de tableau à l'aide de Python ou de HCL.
# Importer la bibliothèque Pandas import pandas as pd # Charger un fichier CSV compressé (*.csv.gz) depuis l'onglet Données de travail hcl.load_working_file(name = "Factures_T1_2022.csv.gz") # Lire le fichier CSV compressé dans un cadre de données Pandas invoices_q1_2022_pd_df = pd.read_csv("Factures_T1_2022.csv.gz", compression="gzip", header=0) # Afficher le cadre de données Pandas invoices_q1_2022_pd_df
Exemples Excel
Charger un fichier de travail Excel et le convertir dans un cadre de données
Vous souhaitez convertir un fichier de travail Excel chargé dans un cadre de données pour pouvoir utiliser les données sous forme de tableau à l'aide de Python ou de HCL.
Fichier Excel avec une extension de fichier *.xlsx
L'exemple ci-dessous montre la conversion du fichier Excel chargé en cadre de données Pandas. Si besoin, vous pouvez convertir le cadre de données Pandas en cadre de données HCL, comme le montre l'exemple ci-dessus.
# Importer la bibliothèque Pandas import pandas as pd # Charger un fichier Excel (*.xlsx) depuis l'onglet Données de travail hcl.load_working_file(name = "Factures_T1_2022.xlsx") # Lire le fichier Excel dans un cadre de données Pandas invoices_q1_2022_pd_df = pd.read_excel("Factures_T1_2022.xlsx") # Afficher le cadre de données Pandas invoices_q1_2022_pd_df
Fichier Excel avec une extension de fichier *.xls
Pour convertir un fichier Excel utilisant l'ancien format *.xls vous devez d'abord installer la bibliothèque Python xlrd.
Remarque
Comme dans l'application Jupyter Notebook, vous devez effectuer l'installation de chaque package Python ( pip install ) dans une cellule d'éditeur de script distincte.
L'installation de packages Python externes est prise en charge dans les robots HighBond mais pas dans les robots de flux de travail.
pip install xlrd
# Importer la bibliothèque Pandas import pandas as pd # Charger un fichier Excel (*.xls) depuis l'onglet Données de travail hcl.load_working_file(name = "Factures_T1_2022.xls") # Lire le fichier Excel dans un cadre de données Pandas invoices_q1_2022_pd_df = pd.read_excel("Factures_T1_2022.xls") # Afficher le cadre de données Pandas invoices_q1_2022_pd_df
Charger et modifier un fichier de travail Excel
Vous souhaitez charger un fichier de travail Excel, le modifier, puis le réenregistrer dans l'onglet Données de travail. Vous pouvez utiliser des méthodes d'une bibliothèque Python comme pyexcel pour apporter les modifications sans nécessairement convertir le fichier Excel en cadre de données Pandas ou HCL.
Remarque
Comme dans l'application Jupyter Notebook, vous devez effectuer l'installation de chaque package Python ( pip install ) dans une cellule d'éditeur de script distincte.
L'installation de packages Python externes est prise en charge dans les robots HighBond mais pas dans les robots de flux de travail.
pip install pyexcel
pip install pyexcel-xlsx
# Importer la bibliothèque pyexcel import pyexcel as pe # Importer la méthode get_data de la bibliothèque pyexcel-xlsx from pyexcel_xlsx import get_data # Charger un fichier Excel depuis l'onglet Données de travail hcl.load_working_file(name = "Factures_T1_2022.xlsx") # Copier les données Excel dans une feuille pyexcel sheet = pe.get_sheet(file_name="Factures_T1_2022.xlsx") # Supprimer deux lignes d'informations indésirables dans l'en-tête en haut de la feuille de calcul del sheet.row[0, 1] # Nommer les colonnes avec les valeurs de noms de ce qui est maintenant la première ligne de la feuille de calcul sheet.name_columns_by_row(0) # Supprimer trois colonnes indésirables de la feuille de calcul del sheet.column['NumProd'; 'Quantité'; 'Coût_unitaire'] # Enregistrer la feuille pyexcel dans un nouveau fichier Excel sheet.save_as("Factures_T1_2022_préparées.xlsx") # Enregistrer le nouveau fichier Excel dans l'onglet Données de travail hcl.save_working_file(name = "Factures_T1_2022_préparées.xlsx")
Remarques
Comportement lors du chargement de fichiers
Lorsque vous chargez un fichier depuis l'onglet Données de travail dans l'environnement d'exécution Python, vous chargez une copie et non le fichier d'origine. Si un fichier portant le même nom et la même casse existe déjà dans l'environnement d'exécution, il est écrasé automatiquement.
Casse des noms de fichiers
Lorsque vous spécifiez nom_fichier_travail il ne respecte pas la casse. Lorsque vous exécutez un script de manière interactive dans l'éditeur de scripts, la casse utilisée pour nom_fichier_travail est répliquée dans le panneau Fichiers de la session. Si vous chargez deux fois le même fichier et que vous utilisez une casse différente pour le nom de fichier à chaque fois, le résultat consiste en deux fichiers de session identiques avec des noms qui diffèrent en fonction de leur casse. Le comportement est le même lorsque vous utilisez une tâche pour exécuter un script.
Toutefois, quand un fichier est chargé dans un environnement Python, les noms de fichier respectent la casse. Après le chargement d'un fichier de travail, le code qui suivra doit répliquer la casse utilisée pour charger le fichier.
Pour éviter de simples erreurs de script dues à une non-correspondance de casse dans les noms de fichiers, il est recommandé de répliquer la casse du nom de fichier dans l'onglet Données de travail au moment du chargement du fichier.
Message d'erreur de script
Ces situations génèrent le message d'erreur de script affiché ci-dessous :
-
le fichier spécifié n'existe pas dans l'onglet Données de travail dans le robot contenant le script ;
-
le nom du fichier est mal orthographié ;
-
l'extension de fichier est manquante.
Message d'erreur de script :
Exception : Fichier introuvable dans la section Travail en cours