Zum Hauptinhalt springen

CSV-Dateien lesen

Beispiel

import csv

with open("punkte.csv", "r", encoding="utf-8", newline="") as f:
reader = csv.reader(f)
for zeile in reader:
print(zeile)

Jede zeile ist eine Liste von Strings.

Kopf überspringen

import csv

with open("punkte.csv", "r", encoding="utf-8", newline="") as f:
reader = csv.reader(f)
kopf = next(reader)
print("Spalten:", kopf)
for zeile in reader:
name, punkte = zeile[0], int(zeile[1])
print(name, punkte)

Rate mal!

Sind CSV-Zahlen automatisch int?

Auflösung

Nein – alles kommt als Text, int() bei Bedarf.

Probiere es selbst

Experiment 1

Datei lesen und printen.

Experiment 2

Summe der Punkte.

Experiment 3

FileNotFoundError abfangen.

Übungen

Level 1

Alle Zeilen ausgeben.

Level 2

Ohne Kopf summen.

Level 3

Nur bestanden (ab 50) listen.

Level-2-Lösung
import csv
summe = 0
with open("punkte.csv", "r", encoding="utf-8", newline="") as f:
reader = csv.reader(f)
next(reader)
for zeile in reader:
summe += int(zeile[1])
print(summe)

Mini-Quiz

Mini-QuizWelchen Typ haben Zellen beim Lesen meist zuerst?

Lesen sitzt! Als Nächstes: CSV mit Dictionaries.