Python Lernhandbuch

Kapitel 12: Postgres einbinden

Übung im Browser prüfbar

Schreibe kunden_import.py, das:

  1. mit der Tabelle verkaeufe (id SERIAL PRIMARY KEY, kunde TEXT, artikel TEXT, menge INT, preis NUMERIC(10,2)) arbeitet und sie anlegt, falls sie fehlt,
  2. die Datei verkaeufe.csv aus Kapitel 11 einliest und alle Zeilen in einer Transaktion einfügt,
  3. danach per SQL den Umsatz pro Kunde berechnet (SUM(menge * preis), GROUP BY kunde, absteigend) und als Tabelle ausgibt,
  4. die Verbindungsdaten aus der Umgebungsvariable DATABASE_URL liest.

psycopg ist installiert, verkaeufe.csv aus Kapitel 11 liegt im Arbeitsordner, und DATABASE_URL zeigt auf die Übungsdatenbank. Gib pro Kunde eine Zeile aus, z. B. Cem 28.00.

🐘 Deine Übungsdatenbank

Beim Ausführen ist DATABASE_URL gesetzt und zeigt auf deinen eigenen Bereich in der Übungsdatenbank. Tabellen bleiben dort zwischen zwei Läufen erhalten. Die Prüfung nutzt jedes Mal einen frischen, leeren Bereich.

📁 Dateien im Arbeitsordner (1)

Diese Dateien liegen beim Ausführen und Prüfen neben deinem Programm. Bei der Prüfung werden zusätzlich andere Inhalte getestet.

verkaeufe.csv

kunde;artikel;menge;preis
Anna;Stift;10;1.50
Ben;Heft;5;3.00
Anna;Heft;2;3.00
Cem;Stift;20;1.40
✓ So wird geprüft
  • ○ Die Tabelle verkaeufe wird mit den richtigen Spalten angelegt
  • ○ Alle vier CSV-Zeilen stehen in der Datenbank
  • ○ Ausgabe: Umsatz pro Kunde absteigend (Cem 28.00, Anna 21.00, Ben 15.00)
  • ○ Die Auswertung rechnet die Datenbank (GROUP BY)
  • ○ Ein zweiter Lauf bricht nicht ab (CREATE TABLE IF NOT EXISTS)
  • ○ Alles oder nichts: eine fehlerhafte Zeile hinterlässt keinen halben Import
  • ○ Die Verbindung kommt aus DATABASE_URL
kunden_import.py
Eingaben für „Ausführen“ (input und Argumente)