0Pricing
Python Academy · Lektion

CSV mit csv.reader lesen

Lesen Sie CSV-Dateien zeilenweise und greifen Sie per Index auf Spalten zu.

CSV mit csv.reader lesen ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Einführung

Das integrierte Python-Modul csv übernimmt die komplexe Verarbeitung von CSV-Dateien: Anführungszeichen, Trennzeichen und unterschiedliche Zeilenenden.

Eine CSV-Datei öffnen

with open('data.csv', newline='') as f: ist die empfohlene Vorgehensweise — newline='' ermöglicht es dem csv-Modul, die Zeilenenden zu verarbeiten.
import csv, io
sample = 'name,age,city\nAlice,30,NYC\nBob,25,LA'
reader = csv.reader(io.StringIO(sample))
for row in reader:
    print(row)

Grundlagen von csv.reader

csv.reader(f) gibt einen Iterator über Zeilen zurück, wobei jede Zeile eine Liste von Zeichenfolgen ist.
import csv, io
data = 'a,b,c\n1,2,3\n4,5,6'
for row in csv.reader(io.StringIO(data)):
    print(row)

Die Kopfzeile überspringen

next(reader) überspringt die Kopfzeile. Alternativ können Sie csv.DictReader verwenden, um über Namen auf Spalten zuzugreifen.
import csv, io
data = 'name,age\nAlice,30\nBob,25'
reader = csv.reader(io.StringIO(data))
header = next(reader)  # skip
for row in reader:
    print(row)

Benutzerdefiniertes Trennzeichen

csv.reader(f, delimiter=';') liest Dateien, deren Felder durch Semikolons getrennt sind. Dies funktioniert mit jedem Trennzeichen aus einem einzelnen Zeichen.
import csv, io
data = 'a;b;c\n1;2;3'
for row in csv.reader(io.StringIO(data), delimiter=';'):
    print(row)

Anführungszeichen in Feldern verarbeiten

csv.reader verarbeitet Felder in Anführungszeichen automatisch: 'Alice, Jr.' bleibt ein einzelnes Feld.
import csv, io
data = 'name,note\n"Smith, John","great guy"'
for row in csv.reader(io.StringIO(data)):
    print(row)

csv.DictReader

DictReader bildet jede Zeile anhand der Kopfzeile als Schlüssel auf ein OrderedDict (oder ab 3.8 auf ein gewöhnliches dict) ab.
import csv, io
data = 'name,age\nAlice,30\nBob,25'
for row in csv.DictReader(io.StringIO(data)):
    print(row['name'], row['age'])

Typkonvertierung

CSV-Werte sind immer Zeichenfolgen. Konvertieren Sie sie explizit: int(row['age']), float(row['price']).
import csv, io
data = 'item,price\napple,1.5\nbanana,0.75'
for row in csv.DictReader(io.StringIO(data)):
    print(row['item'], float(row['price'])*2)

Kodierung verarbeiten

open(file, encoding='utf-8-sig') verarbeitet ein UTF-8-BOM (häufig bei von Excel erzeugten CSV-Dateien).
# with open('data.csv', encoding='utf-8-sig', newline='') as f:
#     reader = csv.DictReader(f)
print('encoding demo')

Große CSV-Dateien

csv.reader arbeitet verzögert — es liest jeweils eine Zeile. Sie müssen nicht die gesamte Datei in den Speicher laden.
import csv, io
data = '\n'.join(f'{i},{i*2}' for i in range(1000))
reader = csv.reader(io.StringIO(data))
print(sum(int(row[0]) for row in reader))

Das Format erkennen

csv.Sniffer().sniff(sample) erkennt das Trennzeichen und die Art der Anführungszeichen automatisch.
import csv, io
data = 'a|b|c\n1|2|3'
sniff = csv.Sniffer().sniff(data[:100])
print('delimiter:', sniff.delimiter)
for row in csv.reader(io.StringIO(data), dialect=sniff):
    print(row)

Kurztest

Welchen Parameter sollten Sie beim Öffnen einer CSV-Datei mit open() immer festlegen?

Zusammenfassung

csv.reader: Zeilen als Listen von Zeichenfolgen. DictReader: Zeilen als Dictionaries. Öffnen Sie Dateien immer mit newline=''. Verarbeiten Sie die Kodierung von Excel-Dateien. Konvertieren Sie Typen explizit.

Weiter geht's

Bleiben Sie dran! Fahren Sie mit der nächsten Lektion fort.

Häufig gestellte Fragen

Ist die Lektion „CSV mit csv.reader lesen“ kostenlos?

Ja — der vollständige Text von „CSV mit csv.reader lesen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „CSV mit csv.reader lesen“?

Lesen Sie CSV-Dateien zeilenweise und greifen Sie per Index auf Spalten zu. Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „CSV mit csv.reader lesen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. JSON-Kodierung und -Dekodierung
  2. Verschachtelte JSON-Strukturen verarbeiten
  3. CSV mit csv.reader lesen
  4. CSV mit csv.DictWriter schreiben
← Zurück zu Python Academy