Teil 20: Daten speichern: CSV, Excel, SQL

In Data-Science-Projekten ist es nicht nur wichtig, Daten zu laden, sondern auch ergebnisse zu speichern. Dies kann nach der Datenanalyse, nach Berechnungen oder nach Machine-Learning-Prozessen notwendig sein. Python und Pandas bieten dafür einfach zu nutzende Funktionen, um Daten in CSV-, Excel- oder SQL-Datenbanken zu speichern. In diesem Teil lernst du, wie man Daten effizient speichert und exportiert.


1. CSV-Dateien speichern

CSV (Comma Separated Values) ist das am häufigsten verwendete Format, um tabellarische Daten auszutauschen.

Einfacher Export

import pandas as pd

# Beispiel-DataFrame
df = pd.DataFrame({
    "Name": ["Anna", "Ben", "Clara", "David"],
    "Alter": [28, 35, 22, 30],
    "Land": ["Deutschland", "Österreich", "Deutschland", "Schweiz"]
})

# Als CSV speichern
df.to_csv("kunden_neu.csv", index=False)
  • index=False verhindert, dass der DataFrame-Index gespeichert wird
  • Standardmäßig wird Komma als Trennzeichen verwendet

Mit Optionen

df.to_csv("kunden_semi.csv", sep=";", encoding="utf-8", header=True)
  • sep=";" → Semikolon als Trennzeichen
  • encoding="utf-8" → für Umlaute und Sonderzeichen
  • header=True → Spaltennamen schreiben

2. Excel-Dateien speichern

Excel-Dateien sind besonders beliebt für Berichte und Austausch mit Kollegen.

# Excel-Datei speichern
df.to_excel("kunden_neu.xlsx", sheet_name="Daten", index=False)
  • sheet_name → Name des Arbeitsblatts
  • index=False → verhindert Speicherung des Index

Mehrere DataFrames in ein Excel-Workbook speichern

with pd.ExcelWriter("kunden_bericht.xlsx") as writer:
    df.to_excel(writer, sheet_name="Kunden", index=False)
    df.describe().to_excel(writer, sheet_name="Statistik")
  • Nützlich für übersichtliche Berichte mit mehreren Tabellen

3. Daten in SQL-Datenbanken speichern

Datenbanken sind ideal für strukturierte Daten, die regelmäßig aktualisiert werden.

SQLite Beispiel

import sqlite3

# Verbindung erstellen
conn = sqlite3.connect("kunden.db")

# DataFrame in SQL speichern
df.to_sql("kunden", conn, if_exists="replace", index=False)

# Verbindung schließen
conn.close()
  • if_exists="replace" → Tabelle überschreiben
  • index=False → Index nicht speichern

PostgreSQL oder MySQL

from sqlalchemy import create_engine

engine = create_engine("postgresql://user:pass@localhost:5432/meinedb")
df.to_sql("kunden", engine, if_exists="replace", index=False)
  • Einfacher Transfer von DataFrame in relationale Datenbanken

4. Praxisbeispiel: Data-Science-Projekt speichern

# CSV laden
df = pd.read_csv("kunden.csv")

# Analyse durchführen
df["Alter_in_5_Jahren"] = df["Alter"] + 5
df["VIP"] = df["Name"].isin(["Anna", "Clara"])

# CSV speichern
df.to_csv("kunden_analyse.csv", index=False)

# Excel speichern
with pd.ExcelWriter("kunden_analyse.xlsx") as writer:
    df.to_excel(writer, sheet_name="Analyse", index=False)
    df.describe().to_excel(writer, sheet_name="Statistik")

# SQLite speichern
import sqlite3
conn = sqlite3.connect("kunden.db")
df.to_sql("kunden_analyse", conn, if_exists="replace", index=False)
conn.close()
  • Zeigt mehrere Speicherformate gleichzeitig
  • Praktisch für Berichte, Analysen und Datenbanken

5. Tipps für Data Science

  1. Format wählen nach Zweck – CSV für Austausch, Excel für Berichte, SQL für Datenbanken
  2. Index bewusst speichern – unnötige Indizes vermeiden
  3. Encoding prüfen – besonders bei Umlauten oder Sonderzeichen
  4. Automatisierte Speicherung – Skripte schreiben, die Ergebnisse speichern
  5. Mehrere Tabellen in Excel – für saubere Präsentation

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert