Excel-Tabellen

Excel-Dateien sind weit verbreitet und werden häufig für die Speicherung und Analyse von Daten in Tabellenform verwendet. Sie bieten umfangreiche Funktionen für die Datenmanipulation und -visualisierung. In diesem Kapitel werden wir uns eingehend mit dem Lesen und Schreiben von Excel-Dateien in Python mithilfe der pandas-Bibliothek beschäftigen.

Schreiben einer Excel-Datei

Das Speichern von Daten in eine Excel-Datei ist mit der pandas-Bibliothek sehr einfach. Die Methode df.to_excel() ermöglicht das Speichern eines DataFrame in eine Excel-Datei:

import pandas as pd

# Daten erstellen
daten = {
    "Name": ["Max", "Anna", "Tom"],
    "Alter": [24, 30, 22],
    "Stadt": ["Berlin", "Hamburg", "München"]
}

df = pd.DataFrame(daten)

# Excel-Datei speichern
df.to_excel('daten.xlsx', index=False)
  1. Importieren der Pandas-Bibliothek: python import pandas as pd

  2. Erstellen von Daten:

    • Daten können in Form eines Dictionaries erstellt und anschließend in einen DataFrame konvertiert werden.
    daten = {
        "Name": ["Max", "Anna", "Tom"],
        "Alter": [24, 30, 22],
        "Stadt": ["Berlin", "Hamburg", "München"]
    }
    
    df = pd.DataFrame(daten)
  3. Speichern der Daten in eine Excel-Datei: python # Excel-Datei speichern df.to_excel('daten.xlsx', index=False)

    • Argumente:
      • Der erste Parameter ist der Dateiname ('daten.xlsx'). Wenn kein Pfad angegeben ist, wird die Datei im aktuellen Arbeitsverzeichnis gespeichert.
      • index=False stellt sicher, dass die Zeilenindizes nicht in die Excel-Datei geschrieben werden. Andernfalls würde eine zusätzliche Spalte mit den Indizes in der Excel-Datei erscheinen.

Lesen einer Excel-Datei

Die Methode pd.read_excel() der Pandas Bibliothek ermöglicht das Einlesen von Daten aus Excel-Dateien in einen DataFrame:

import pandas as pd

# Excel-Datei lesen
df = pd.read_excel('daten.xlsx')

df
  1. Importieren der Pandas-Bibliothek: python import pandas as pd

  2. Lesen der Excel-Datei: python # Excel-Datei lesen df = pd.read_excel('daten.xlsx')

    • Argumente:

      • Der erste Parameter ist der Pfad zur Excel-Datei ('daten.xlsx'). Wenn sich die Datei nicht im aktuellen Arbeitsverzeichnis befindet, muss der vollständige Pfad angegeben werden.
    • Beispiel:

      df = pd.read_excel('/pfad/zur/datei/daten.xlsx')
  3. Ausgeben des DataFrame: python df

    • Dies zeigt den Inhalt des DataFrame an, der die Daten aus der Excel-Datei enthält.

Erweiterte Funktionen

Wenn eine Excel-Datei mehrere Blätter (Sheets) enthält, können Sie ein spezifisches Blatt einlesen, indem Sie den sheet_name Parameter verwenden.

df = pd.read_excel('daten.xlsx', sheet_name='Sheet1')

Sie können auch Daten auf ein spezifisches Blatt schreiben:

df.to_excel('daten.xlsx', sheet_name='Sheet1', index=False)

Mit ExcelWriter können Sie mehrere DataFrames in verschiedene Blätter derselben Excel-Datei schreiben:

with pd.ExcelWriter('mehrere_blaetter.xlsx') as writer:
    df1.to_excel(writer, sheet_name='Blatt1')
    df2.to_excel(writer, sheet_name='Blatt2')

Sie können das Format der geschriebenen Excel-Datei weiter anpassen, z.B. die Breite der Spalten einstellen oder Formatierungen hinzufügen, indem Sie die xlsxwriter-Engine in Pandas verwenden (anstelle des Standard-Moduls openpyxl). Dazu muss zunächst das Modul XlsxWriterinstalliert werden. Folgen Sie dazu diesen Hinweisen.

with pd.ExcelWriter('formatiert.xlsx', engine='xlsxwriter') as writer:
    df.to_excel(writer, sheet_name='Sheet1')
    workbook  = writer.book
    worksheet = writer.sheets['Sheet1']
    worksheet.set_column('A:A', 20)  # Setzt die Breite der Spalte A auf 20

Zusammenfassung

In diesem Kapitel haben wir gelernt, wie man Excel-Dateien in Python mit der pandas-Bibliothek liest und schreibt. Diese Fähigkeiten sind essenziell für die Arbeit mit tabellarischen Daten und ermöglichen es Ihnen, Excel-Dateien effizient in Ihre Datenanalyse-Workflows zu integrieren. Wir haben auch einige erweiterte Funktionen behandelt, die Ihnen helfen, komplexere Aufgaben mit Excel-Dateien zu bewältigen.