load_working_file()-Methode
Lädt eine Arbeitsdatei von der Registerkarte Arbeitsdaten, um die Datei für die Python/HCL-Skripterstellung verfügbar zu machen. Die geladene Datei ist eine Kopie, nicht das Original.
Syntax
hcl.load_working_file(name = "Name_der_Arbeitsdatei")
Parameter
Name | Beschreibung |
---|---|
name = Name_der_Arbeitsdatei |
Der Name der Arbeitsdatei. Der Name muss in Anführungszeichen gesetzt werden. Sie müssen den Namen der Datei auf der Registerkarte Arbeitsdaten buchstabengenau eingeben, einschließlich der Dateierweiterung. Die Datei und das Skript, welches die Datei lädt, müssen sich im selben Robot befinden. Bei Name_der_Arbeitsdatei wird nicht zwischen Groß und Kleinschreibung unterschieden. Weitere Informationen finden Sie unter Schreibweise von Dateinamen. Hinweis Bei Name_der_Arbeitsdatei wird in save_working_file()-Methode zwischen Groß- und Kleinschreibung unterschieden. |
Gibt zurück
Im Erfolgsfall lautet der Rückgabecode 202. Bei einem Fehler wird die Fehlermeldung ausgegeben.
Beispiele
Hinweis
Sie können jeden unterstützten Dateityp aus der Registerkarte Arbeitsdaten in einem HighBond- oder Workflow-Robot laden und in einem Python-/HCL-Skript verwenden. CSV- und Excel-Dateien werden unten als Beispiele verwendet, da es sich dabei um die gängigsten Typen von Flatfiles für die Speicherung und Übertragung von Daten handelt.
CSV-Beispiele
Datei von der Registerkarte „Arbeitsdaten“ laden
Sie möchten eine Duplikatsanalyse von Rechnungsdatensätzen aus dem ersten Quartal 2022 durchführen. Die Datensätze sind in der Datei Invoices_Q1_2022.csv enthalten, die zuvor auf der Registerkarte Arbeitsdaten des Robots hochgeladen wurde. Im Analyse-Skript müssen Sie die Datei zunächst laden, bevor Sie sie analysieren können.
hcl.load_working_file(name = "Invoices_Q1_2022.csv")
CSV-Arbeitsdatei laden und in einen Dataframe konvertieren
Sie möchten eine geladene CSV-Arbeitsdatei in einen Dataframe konvertieren, damit Sie mit den Daten in einem Tabellenformat mit Python oder HCL arbeiten können.
CSV-Datei laden und in einen Pandas-Dataframe konvertieren
# Importiert die Pandas-Bibliothek import pandas as pd # Lädt eine CSV-Datei von der Registerkarte Arbeitsdaten hcl.load_working_file(name = "Invoices_Q1_2022.csv") # Liest die CSV-Datei in einen Pandas Dataframe ein invoices_q1_2022_pd_df = pd.read_csv("Invoices_Q1_2022.csv") # Zeigt den Pandas-Dataframe an invoices_q1_2022_pd_df
CSV-Datei laden und in einen HCL-Dataframe konvertieren
# Lädt eine CSV-Datei von der Registerkarte Arbeitsdaten hcl.load_working_file(name = "Invoices_Q1_2022.csv") # Liest die CSV-Datei in einen HCL-Dataframe ein invoices_q1_2022_hcl_df = hcl.read_csv("Invoices_Q1_2022.csv") # Zeigt den HCL-Dataframe an invoices_q1_2022_hcl_df
HCL-Dataframe in einen Pandas-Dataframe konvertieren
# Konvertiert einen HCL-Dataframe in einen Pandas-Dataframe invoices_q1_2022_pd_df = invoices_q1_2022_hcl_df.to_pandas() # Zeigt den Pandas-Dataframe an invoices_q1_2022_pd_df
CSV-Arbeitsdatei laden und in einen Dataframe konvertieren
Laden Sie mit dem Befehl ACLScript EXPORT die Daten in eine lokale Analytics-Tabelle in einer komprimierten CSV-Datei (*.csv.gz) von Analytics in die Registerkarte Arbeitsdaten in einem HighBond- oder Workflow-Robot hoch. Sie möchten die komprimierte CSV-Datei nach dem Laden in einen Dataframe konvertieren, damit Sie in einem Tabellenformat mit Python oder HCL mit den Daten arbeiten können.
# Importiert die Pandas-Bibliothek import pandas as pd # Lädt eine komprimierte CSV-Datei (*.csv.gz) von der Registerkarte „Arbeitsdaten“ hcl.load_working_file(name = "Invoices_Q1_2022.csv.gz") # Liest die komprimierte CSV-Datei in einen Pandas-Dataframe ein invoices_q1_2022_pd_df = pd.read_csv("Invoices_Q1_2022.csv.gz", compression="gzip", header=0) # Zeigt den Pandas-Dataframe an invoices_q1_2022_pd_df
Excel-Beispiele
Excel-Arbeitsdatei laden und in einen Dataframe konvertieren
Sie möchten eine geladene Excel-Arbeitsdatei in einen Dataframe konvertieren, damit Sie mit den Daten in einem Tabellenformat mit Python oder HCL arbeiten können.
Excel-Datei mit der Dateinamenerweiterung *.xlsx
Das folgende Beispiel zeigt die Konvertierung der geladenen Excel-Datei in einen Pandas-Dataframe. Bei Bedarf können Sie den Pandas-Dataframe in einen HCL-Dataframe umwandeln, wie im vorhergehenden Beispiel gezeigt.
# Importiert die Pandas-Bibliothek import pandas as pd # Lädt eine Excel-Datei (*.xlsx) von der Registerkarte Arbeitsdaten hcl.load_working_file(name = "Invoices_Q1_2022.xlsx") # Liest die Excel-Datei in einen Pandas-Dataframe ein invoices_q1_2022_pd_df = pd.read_excel("Invoices_Q1_2022.xlsx") # Zeigt den Pandas-Dataframe an invoices_q1_2022_pd_df
Excel-Datei mit der Dateinamenerweiterung *.xls
Um eine Excel-Datei zu konvertieren, die das ältere *.xls-Format verwendet, müssen Sie zunächst die Python-Bibliothek „xlrd“ installieren.
Hinweis
Ähnlich wie bei der Jupyter Notebook-App müssen Sie die Installation des Python-Pakets (pip install) in einer separaten Zelle des Skripteditors durchführen.
Die Installation von externen Python-Paketen wird in HighBond-Robots unterstützt, nicht aber in Workflow-Robots.
pip install xlrd
# Importiert die Pandas-Bibliothek import pandas as pd # Lädt eine Excel-Datei (*.xls) von der Registerkarte Arbeitsdaten hcl.load_working_file(name = "Invoices_Q1_2022.xls") # Liest die Excel-Datei in einen Pandas-Dataframe ein invoices_q1_2022_pd_df = pd.read_excel("Invoices_Q1_2022.xls") # Zeigt den Pandas-Dataframe an invoices_q1_2022_pd_df
Excel-Arbeitsdatei laden und ändern
Sie möchten eine Excel-Arbeitsdatei laden, sie ändern und dann erneut auf der Registerkarte Arbeitsdaten speichern. Sie können mit Methoden aus einer Python-Bibliothek wie pyexcel die Änderungen vornehmen, ohne die Excel-Datei in einen Pandas- oder HCL-Dataframe umwandeln zu müssen.
Hinweis
Ähnlich wie bei der Jupyter Notebook-App müssen Sie jede Installation des Python-Pakets (pip install) in einer separaten Zelle des Skripteditors durchführen.
Die Installation von externen Python-Paketen wird in HighBond-Robots unterstützt, nicht aber in Workflow-Robots.
pip install pyexcel
pip install pyexcel-xlsx
# Importiert die pyexcel-Bibliothek import pyexcel as pe # Importiert die get_data-Methode aus der pyexcel-xlsx-Bibliothek from pyexcel_xlsx import get_data # Lädt eine Excel-Datei von der Registerkarte Arbeitsdaten hcl.load_working_file(name = "Invoices_Q1_2022.xlsx") # Kopiert die Excel-Daten in eine Pyexcel-Tabelle sheet = pe.get_sheet(file_name="Invoices_Q1_2022.xlsx") # Löscht zwei Reihen mit unerwünschten Header-Informationen oben auf dem Arbeitsblatt del sheet.row[0, 1] # Benennen Sie die Spalten mit den Namenswerten in der ersten Reihe des Arbeitsblatts. sheet.name_columns_by_row(0) # Löscht drei unerwünschte Spalten aus dem Arbeitsblatt del sheet.column['Prodno', 'Quantity', 'Unit_Cost'] # Speichert die pyexcel-Tabelle in einer neuen Excel-Datei sheet.save_as("Invoices_Q1_2022_prepared.xlsx") # Speichert die neue Excel-Datei auf der Registerkarte Arbeitsdaten hcl.save_working_file(name = "Invoices_Q1_2022_prepared.xlsx")
Bemerkungen
Verhalten beim Laden von Dateien
Wenn Sie eine Datei von der Registerkarte Arbeitsdaten in die Python-Laufzeitumgebung laden, wird eine Kopie und nicht die Originaldatei geladen. Sollte in der Laufzeitumgebung bereits eine Datei mit demselben Namen und identischer Dateinamenskonvention (File-Name-Casing) vorhanden sein, wird sie automatisch überschrieben.
Schreibweise von Dateinamen
Wenn Sie Name_der_Arbeitsdatei angeben, wird nicht zwischen Groß- und Kleinschreibung unterschieden. Wenn Sie ein Skript interaktiv im Skript-Editor ausführen, wird die Schreibweise, die Sie für Name_der_Arbeitsdatei verwenden, im Bereich Sitzungsdateien repliziert. Wenn Sie dieselbe Datei zweimal laden und jedes Mal eine andere Schreibweise für den Dateinamen verwenden, erhalten Sie zwei identische Sitzungsdateien mit unterschiedlich geschriebenen Namen. Das Verhalten ist dasselbe, wenn Sie ein Skript mit einer Aufgabe ausführen.
Nachdem eine Datei in die Python-Umgebung geladen wurde, wird bei den Dateinamen jedoch zwischen Groß- und Kleinschreibung unterschieden. Nachdem Sie also eine Arbeitsdatei geladen haben, muss in allen nachfolgenden Quelltexten das gleiche Schreibweise verwendet werden, das Sie beim Laden der Datei verwendet haben.
Um einfache Skript-Fehler zu vermeiden, die durch die falsche Schreibweise von Dateinamen verursacht werden, empfiehlt es sich, beim Laden einer Arbeitsdatei die Schreibweise des Dateinamens auf der Registerkarte Arbeitsdaten zu übernehmen.
Skript-Fehlermeldung
Alle diese Situationen führen zu der unten gezeigten Fehlermeldung des Skripts:
-
die angegebene Datei ist in der Registerkarte Arbeitsdaten des Robots, der das Skript enthält, nicht vorhanden
-
der Dateiname ist falsch geschrieben
-
die Dateierweiterung fehlt
Skript-Fehlermeldung:
Ausnahme: Datei nicht im Arbeitsbereich gefunden