load_working_file()-Methode

Lädt eine Arbeitsdatei aus dem Bereich 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 im Bereich 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 aus dem Bereich „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 im Bereich 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 aus dem Bereich „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 aus dem Bereich „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 den Bereich 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) aus dem Bereich „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) aus dem Bereich „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) aus dem Bereich „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 im Bereich 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 aus dem Bereich „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 im Bereich „Arbeitsdaten“
hcl.save_working_file(name = "Invoices_Q1_2022_prepared.xlsx")

Bemerkungen

Verhalten beim Laden von Dateien

Wenn Sie eine Datei aus dem Bereich 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 im Bereich Arbeitsdaten zu übernehmen.

Skript-Fehlermeldung

Alle diese Situationen führen zu der unten gezeigten Fehlermeldung des Skripts:

  • die angegebene Datei ist im Bereich 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