LoslegenKostenlos loslegen

Das Laden und Kombinieren von Daten aus mehreren Excel-Arbeitsblättern automatisieren

Jetzt bist du bereit, den Importprozess der Listing-Informationen aus allen drei Börsen im Excel-File listings.xlsx mit einer for-Schleife zu automatisieren. Das wirst du tun:

  1. Rufe die Blattnamen eines pd.ExcelFile()-Objekts über sein Attribut sheet_names ab.
  2. Erstelle eine leere Liste.
  3. Schreibe eine for-Schleife, die über diese Blattnamen iteriert, um die Daten aus dem entsprechenden Blatt der Excel-Datei in eine Variable einzulesen. Füge bei Bedarf eine Referenzspalte hinzu. Hänge den Inhalt dieser Variable in jeder Iteration an die Liste an.
  4. Konkateniere die DataFrames in der Liste.

Wie immer kannst du bei Bedarf auf die vorherigen Übungen in diesem Kapitel oder die Dokumentation von pandas zurückgreifen. pandas wurde als pd importiert.

Diese Übung ist Teil des Kurses

Importing and Managing Financial Data in Python

Kurs anzeigen

Anleitung zur Übung

  • Erstelle das pd.ExcelFile()-Objekt mit der Datei listings.xlsx und weise es der Variablen xls zu.
  • Rufe die Blattnamen über das Attribut .sheet_names von xls ab und weise sie exchanges zu.
  • Erstelle eine leere Liste und weise sie der Variablen listings zu.
  • Iteriere über exchanges mit einer for-Schleife und exchange als Iterationsvariable. In jeder Iteration:
    • Verwende pd.read_excel() mit xls als Datenquelle, exchange als Argument sheet_name und 'n/a' als na_values, um fehlende Werte zu behandeln. Weise das Ergebnis listing zu.
    • Erstelle in listing eine neue Spalte namens 'Exchange' mit dem Wert exchange (der Iterationsvariable).
    • Hänge den resultierenden listing DataFrame an listings an.
  • Verwende pd.concat(), um die Inhalte von listings zu konkateniere,n und weise das Ergebnis listing_data zu.
  • Inspiziere den Inhalt von listing_data mit .info().

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Create the pd.ExcelFile() object
xls = ____

# Extract the sheet names from xls
exchanges = ____.____

# Create an empty list: listings


# Import the data
for exchange in exchanges:
    listing = pd.____(____, sheet_name=____, na_values='n/a')
    listing['Exchange'] = ____
    listings.____(____)

# Concatenate the listings: listing_data
listing_data = pd.____(____)

# Inspect the results
listing_data.info()
Code bearbeiten und ausführen