load_working_file() methode

Laadt een werkbestand uit het tabblad Werkgegevens om het bestand beschikbaar te maken voor Python/HCL-scripting. Het geladen bestand is een kopie, niet het origineel.

Syntaxis

hcl.load_working_file(name = "working_file_name")

Parameters

Naam Beschrijving
name = working_file_name

De naam van het werkbestand. De naam moet tussen aanhalingstekens staan.

U moet de naam van het bestand in het tabblad Werkgegevens exact reproduceren, inclusief de bestandsextensie. Het bestand en het script dat het bestand laadt, moeten zich in dezelfde robot bevinden.

working_file_name is niet hoofdlettergevoelig. Voor meer informatie raadpleegt u Hoofdlettergebruik in bestandsnamen.

Opmerking

working_file_name is hoofdlettergevoelig in de save_working_file() methode.

Retourneert

Voor succes is de retourcode 202. Voor een fout, een foutmelding.

Voorbeelden

Opmerking

U kunt elk ondersteund bestandstype laden vanuit het tabblad Werkgegevens in een HighBond- of Workflow-robot en dit gebruiken in een Python/HCL-script. CSV- en Excel-bestanden worden hieronder als voorbeelden gebruikt omdat dit twee van de meest voorkomende soorten platte bestanden zijn die worden gebruikt om gegevens op te slaan en over te dragen.

CSV-voorbeelden

Een bestand laden vanuit het gedeelte Werkgegevens

U wilt een duplicatenanalyse uitvoeren van factuurrecords uit het eerste kwartaal van 2022. De records staan in het bestand Invoices_Q1_2022.csv dat eerder is geüpload naar het tabblad Werkgegevens in de robot. In het analysescript moet u het bestand eerst laden voordat u er analyses op kunt uitvoeren.

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

Een CSV-werkbestand laden en converteren naar een dataframe

U wilt een geladen CSV-werkbestand converteren naar een dataframe, zodat u met de gegevens kunt werken in een tabelformaat met behulp van Python of HCL.

Een CSV-bestand laden en omzetten naar een Pandas dataframe

# Importeer de Pandas-bibliotheek 
pandas als pd importeren

# Een CSV-bestand laden vanuit het gebied Werkgegevens
hcl.load_working_file(name = "Invoices_Q1_2022.csv") 

# Lees het CSV-bestand naar een Pandas dataframe 
invoices_q1_2022_pd_df = pd.read_csv("Invoices_Q1_2022.csv") 

# Pandas-dataframe weergeven
invoices_q1_2022_pd_df

Een CSV-bestand laden en omzetten naar een HCL-dataframe

# Een CSV-bestand laden vanuit het gebied Werkgegevens
hcl.load_working_file(name = "Invoices_Q1_2022.csv")

# Lees het CSV-bestand naar een HCL-dataframe
invoices_q1_2022_hcl_df = hcl.read_csv("Invoices_Q1_2022.csv")

# HCL-dataframe weergeven
invoices_q1_2022_hcl_df

Een HCL-dataframe naar een Pandas-dataframe converteren

# HCL-dataframe naar Pandas-dataframe converteren
invoices_q1_2022_pd_df = invoices_q1_2022_hcl_df.to_pandas()

# Pandas-dataframe weergeven
invoices_q1_2022_pd_df

Een gecomprimeerd CSV-werkbestand laden en converteren naar een dataframe

Met behulp van het ACLScript EXPORT-commando uploadt u de gegevens in een lokale Analytics-tabel naar een gecomprimeerd CSV-bestand (*.csv.gz) in het tabblad Werkgegevens in een HighBond- of Workflow-robot. U wilt het gecomprimeerde CSV-bestand laden en omzetten naar een dataframe, zodat u met de gegevens kunt werken in een tabelformaat met behulp van Python of HCL.

# Importeer de Pandas-bibliotheek 
pandas als pd importeren

# Een gecomprimeerd CSV-bestand (*.csv.gz) laden vanuit het gebied Werkgegevens
hcl.load_working_file(name = "Invoices_Q1_2022.csv.gz")

# Lees het gecomprimeerde CSV-bestand naar een Pandas-dataframe
invoices_q1_2022_pd_df = pd.read_csv("Invoices_Q1_2022.csv.gz", compression="gzip", header=0)

# Pandas-dataframe weergeven
invoices_q1_2022_pd_df

Excel-voorbeelden

Een Excel-werkbestand laden en converteren naar een dataframe

U wilt een geladen Excel-werkbestand naar een dataframe converteren, zodat u de gegevens in tabelvorm kunt bewerken met Python of HCL.

Excel-bestand met een *.xlsx-bestandsextensie

Het onderstaande voorbeeld laat zien hoe het geladen Excel-bestand wordt geconverteerd naar een Pandas dataframe. Indien nodig kunt u het Pandas-dataframe converteren naar een HCL-dataframe, zoals getoond in het voorbeeld direct hierboven.

# Importeer de Pandas-bibliotheek 
pandas als pd importeren

# Een Excel-bestand (*.xlsx) laden vanuit het gebied Werkgegevens
hcl.load_working_file(name = "Invoices_Q1_2022.xlsx") 

# Lees het Excel-bestand naar een Pandas-dataframe 
invoices_q1_2022_pd_df = pd.read_excel("Invoices_Q1_2022.xlsx") 

# Pandas-dataframe weergeven
invoices_q1_2022_pd_df

Excel-bestand met een *.xls-bestandsextensie

Om een Excel-bestand te converteren dat de oudere *.xls-indeling gebruikt, moet u eerst de xlrd Python-bibliotheek installeren.

Opmerking

Net als in de Jupyter Notebook-app moet u de installatie van het Python-pakket ( pip install ) uitvoeren in een aparte script-editorcell.

Het installeren van externe Python-pakketten wordt ondersteund in HighBond-robots, maar niet in Workflow-robots.

pip install xlrd
# Importeer de Pandas-bibliotheek 
pandas als pd importeren

# Een Excel-bestand (*.xls) laden vanuit het gebied Werkgegevens
hcl.load_working_file(name = "Invoices_Q1_2022.xls") 

# Lees het Excel-bestand naar een Pandas-dataframe 
invoices_q1_2022_pd_df = pd.read_excel("Invoices_Q1_2022.xls") 

# Pandas-dataframe weergeven
invoices_q1_2022_pd_df

Een Excel-werkbestand laden en wijzigen

U wilt een Excel-werkbestand laden, het wijzigen en vervolgens opnieuw opslaan in het gedeelte Werkgegevens. U kunt methoden uit een Python-bibliotheek zoals pyexcel gebruiken om de wijzigingen aan te brengen zonder het Excel-bestand naar een Pandas- of HCL-dataframe te hoeven converteren.

Opmerking

Net als bij de Jupyter Notebook-app moet u elke installatie van een Python-pakket ( pip install ) in een afzonderlijke scripteditorcel uitvoeren.

Het installeren van externe Python-pakketten wordt ondersteund in HighBond-robots, maar niet in Workflow-robots.

pip install pyexcel
pip install pyexcel-xlsx
# Importeer de pyexcel-bibliotheek
importeer pyexcel als pe

# Importeer de get_data-methode uit de pyexcel-xlsx-bibliotheek
van pyexcel_xlsx import get_data

# Een Excel-bestand laden vanuit het gebied Werkgegevens
hcl.load_working_file(name = "Invoices_Q1_2022.xlsx")

# Excel-gegevens naar een pyexcel-blad kopiëren
sheet = pe.get_sheet(file_name="Invoices_Q1_2022.xlsx")

# Twee rijen met ongewenste kopinformatie verwijderen van de bovenkant van het werkblad
del sheet.row[0, 1]

# Benoem de kolommen met behulp van de naamwaarden in wat nu de eerste rij in het werkblad is
sheet.name_columns_by_row(0)

# Drie ongewenste kolommen uit het werkblad verwijderen
del sheet.column['Prodno', 'Quantity', 'Unit_Cost']

# Sla de pyexcel-sheet op als een nieuw Excel-bestand
sheet.save_as("Invoices_Q1_2022_prepared.xlsx")

# Sla het nieuwe Excel-bestand op in het gebied Gegevens in bewerking
hcl.save_working_file(name = "Invoices_Q1_2022_prepared.xlsx")

Opmerkingen

Werkgegevens-gebied

Het gebied Werkgegevens in een robot is toegankelijk op twee verschillende locaties in de gebruikersinterface van Robots:

  • Het tabblad Werkgegevens

  • Het deelvenster Werkgegevens in de scripteditor

Beide locaties bieden toegang tot dezelfde centrale gegevensopslagruimte in een robot. Acties die u op de ene locatie uitvoert, worden automatisch gesynchroniseerd op de andere locatie.

Automatische generatie van de load_working_file()-methode

Als arbeidsbesparende functie genereert het paneel Werkgegevens in de scripteditor automatisch een kopie van de methode load_working_file() met een specifieke bestandsnaam die vooraf is ingevuld:

  • Knop Fragment kopiëren In het paneel Werkgegevens bevat elke rij de knop Fragment kopiëren . Selecteer de knop om een ​​fragment te kopiëren met de methode load_working_file() vooraf ingevuld met de naam van het bestand in de rij. U kunt het fragment in elke cel van de scripteditor plakken.

  • Automatisch aanmaken van scripteditorcel Wanneer u een bestand uploadt naar het paneel Werkgegevens in de scripteditor, wordt er automatisch een cel met de methode load_working_file(), vooraf ingevuld met de naam van het bestand, bovenaan het script aangemaakt. U kunt de cel als startpunt gebruiken of de methode naar een andere locatie in het script kopiëren en vervolgens de cel verwijderen.

Gedrag bij het laden van bestanden

Wanneer u een bestand laadt vanuit het gedeelte Werkgegevens in de Python-runtime-omgeving, laadt u een kopie, niet het oorspronkelijke bestand. Als er in de runtime-omgeving al een bestand bestaat met dezelfde naam en identieke hoofdletters/kleine letters in de bestandsnaam, wordt dit automatisch overschreven.

Hoofdlettergebruik in bestandsnamen

Wanneer u working_file_name opgeeft, is dit niet hoofdlettergevoelig. Wanneer u een script interactief uitvoert in de scripteditor, wordt de hoofdletternotatie die u gebruikt voor working_file_name gerepliceerd in het paneel Sessiebestanden. Als u hetzelfde bestand twee keer laadt en daarbij verschillende hoofdletters gebruikt voor de bestandsnaam, resulteert dit in twee identieke sessiebestanden met namen met verschillende hoofdletters. Het gedrag is hetzelfde wanneer u een taak gebruikt om een script uit te voeren.

Zodra een bestand in de Python-omgeving is geladen, zijn bestandsnamen echter hoofdlettergevoelig. Na het laden van een werkbestand moet alle daaropvolgende code de hoofdletternotatie repliceren die u hebt gebruikt bij het laden van het bestand.

Om eenvoudige scriptfouten door niet-overeenkomende hoofdletters in bestandsnamen te voorkomen, is het de beste praktijk om bij het laden van een werkbestand de hoofdletters van de bestandsnaam in het gedeelte Werkgegevens exact over te nemen.

Scriptfoutbericht

Elk van deze situaties veroorzaakt de onderstaande scriptfoutmelding:

  • het opgegeven bestand bestaat niet in het gedeelte Werkgegevens in de robot die het script bevat

  • de bestandsnaam is verkeerd gespeld

  • the file extension is missing

Script-foutmelding:

Uitzondering: Bestand niet gevonden in de Werk-sectie