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
Lesen sitzt! Als Nächstes: CSV mit Dictionaries.