So lesen Sie eine CSV-Datei in Python (Modul, Pandas-Beispiele)

⚡ Intelligente Zusammenfassung

Eine CSV-Datei speichert tabellarische Daten als Klartext, wobei Kommas die Spalten und Zeilenumbrüche die Zeilen trennen. Hier lernen Sie, wie man CSV-Dateien liest und schreibt. Python unter Verwendung des integrierten csv-Moduls und der pandas-Bibliothek.

  • 📄 Was es ist: Eine CSV-Datei speichert tabellarische Daten als durch Kommas getrennten Klartext.
  • ???? csv.reader: csv.reader() liest Zeilen aus einer CSV-Datei als Listen.
  • 📚 DictReader: csv.DictReader() liest jede Zeile in ein geordnetes Wörterbuch ein.
  • ✍️ csv.writer: csv.writer() und writerow() schreiben Zeilen in eine CSV-Datei.
  • 🐼 Pandas: pandas.read_csv() und to_csv() lesen und schreiben CSV-Dateien in einer Zeile.
  • 🤖 KI-Hilfe: KI-Tools wie Copilot generieren sofort CSV-Lese- und Schreibcode.

CSV-Datei lesen in Python

Was ist eine CSV-Datei?

A CSV-Datei ist eine einfache Art von Klartextdatei, die eine bestimmte Struktur zum Anordnen tabellarischer Daten verwendet. Das Standardformat einer CSV-Datei wird durch Zeilen- und Spaltendaten definiert, wobei eine neue Zeile jede Zeile beendet, um die nächste Zeile zu beginnen, und jede Spalte innerhalb der Zeile durch ein Komma getrennt ist.

CSV ist ein gängiges Format für den Datenaustausch, da es kompakt, einfach und allgemein ist. Viele Online-Dienste ermöglichen ihren Benutzern den Export tabellarischer Daten von der Website in eine CSV-Datei. CSV-Dateien werden in Excel geöffnet, und fast alle Datenbanken verfügen über ein Tool, das den Import aus CSV-Dateien ermöglicht.

CSV-Beispieldatei

Daten in Form von Tabellen werden auch als CSV (Comma Separated Values) bezeichnet – wörtlich „durch Kommas getrennte Werte“. Dies ist ein Textformat, das zur Darstellung tabellarischer Daten vorgesehen ist. Jede Zeile der Datei ist eine Zeile der Tabelle. Die Werte der einzelnen Spalten werden durch ein Trennzeichen getrennt – ein Komma (,), ein Semikolon (;) oder ein anderes Symbol. CSV kann einfach gelesen und verarbeitet werden von Python.

Betrachten Sie die folgende Tabelle

Tabellendaten

Programmiersprache Entworfen von Erschienen Erweiterung
Python Guido van Rossum 1991 .py
Java James Goslin 1995 .Java
C++ Bjarne Stroustrup 1983 .cpp

Sie können diese Tabelle wie folgt im CSV-Format darstellen.

CSV-Daten

Programmiersprache, entworfen von, erschienen, Erweiterung

Python, Guido van Rossum, 1991, .py

Java, James Gosling, 1995, .java

C++, Bjarne Stroustrup,1983,.cpp

Wie Sie sehen, ist jede Zeile eine neue Zeile und jede Spalte wird durch ein Komma getrennt. Dies ist ein Beispiel dafür, wie eine CSV-Datei aussieht.

Laden Sie CSV-Daten herunter

Python CSV Modul

Python stellt ein CSV-Modul zur Verarbeitung von CSV-Dateien bereit. Um Daten zu lesen/schreiben, müssen Sie die Zeilen der CSV-Datei durchlaufen. Sie müssen die Split-Methode verwenden, um Daten aus bestimmten Spalten abzurufen.

Funktionen des CSV-Moduls

In der CSV-Moduldokumentation finden Sie folgende Funktionen:

  • csv.field_size_limit – maximale Feldgröße zurückgeben
  • csv.get_dialect – Rufen Sie den Dialekt ab, der dem Namen zugeordnet ist
  • csv.list_dialects – alle registrierten Dialekte anzeigen
  • csv.reader – Daten aus einer CSV-Datei lesen
  • csv.register_dialect – Dialekt mit Namen verknüpfen
  • csv.writer – Daten in eine CSV-Datei schreiben
  • csv.unregister_dialect – Löschen Sie den Dialekt, der mit dem Namen der Dialektregistrierung verknüpft ist
  • csv.QUOTE_ALL – Zitieren Sie alles, unabhängig vom Typ.
  • csv.QUOTE_MINIMAL – Angebotsfelder mit Sonderzeichen
  • csv.QUOTE_NONNUMERIC – Alle Felder, die keine Zahlenwerte sind, in Anführungszeichen setzen
  • csv.QUOTE_NONE – Zitieren Sie in der Ausgabe nichts

In diesem Tutorial konzentrieren wir uns nur auf die Lese- und Schreibfunktionen, mit denen Sie die Daten in einer CSV-Datei bearbeiten, ändern und manipulieren können.

So lesen Sie eine CSV-Datei in Python

Nachfolgend finden Sie die Schritte zum Lesen der CSV-Datei in Python.

Schritt 1) Um Daten aus CSV-Dateien zu lesen, müssen Sie die Reader-Funktion verwenden, um ein Reader-Objekt zu generieren.

Die Reader-Funktion wurde entwickelt, um aus jeder Zeile der Datei eine Liste aller Spalten zu erstellen. Anschließend müssen Sie die Spalte auswählen, für die Sie die variablen Daten benötigen.

Das klingt komplizierter, als es ist. Schauen wir uns das mal an. Python Code zum Lesen der CSV-Datei, und wir werden feststellen, dass das Arbeiten mit CSV-Dateien nicht so schwer ist.

#import necessary modules
import csv
with open('X:\data.csv','rt')as f:
  data = csv.reader(f)
  for row in data:
        print(row)

Schritt 2) Wenn Sie das obige Programm ausführen, wird die Ausgabe wie folgt aussehen:

['Programming language; Designed by; Appeared; Extension']
['Python; Guido van Rossum; 1991; .py']
['Java; James Gosling; 1995; .java']
['C++; Bjarne Stroustrup;1983;.cpp']

So lesen Sie eine CSV-Datei in ein Wörterbuch in Python

Sie können DictReader auch zum Lesen von CSV-Dateien verwenden. Die Ergebnisse werden als Wörterbuch interpretiert, wobei die Kopfzeile der Schlüssel und die anderen Zeilen Werte sind.

Betrachten Sie den folgenden Code

#import necessary modules
import csv

reader = csv.DictReader(open("file2.csv"))
for raw in reader:
    print(raw)

Das Ergebnis dieses Codes ist:

OrderedDict([('Programming language', 'Python'), ('Designed by', 'Guido van Rossum'), (' Appeared', ' 1991'), (' Extension', ' .py')])
OrderedDict([('Programming language', 'Java'), ('Designed by', 'James Gosling'), (' Appeared', ' 1995'), (' Extension', ' .java')])
OrderedDict([('Programming language', 'C++'), ('Designed by', ' Bjarne Stroustrup'), (' Appeared', ' 1985'), (' Extension', ' .cpp')])

Lesen Sie eine CSV-Datei in ein Wörterbuch

Und diese Methode zum Lesen von Daten aus einer CSV-Datei ist viel einfacher als die frühere Methode. Dies ist jedoch nicht die beste Möglichkeit, Daten zu lesen.

So schreiben Sie eine CSV-Datei in Python

So schreiben Sie eine CSV-Datei in Python:

Wenn Sie einen Datensatz haben, den Sie in einer CSV-Datei speichern möchten, müssen Sie die Funktion write() verwenden. Um die Daten über die Zeilen (Zeilen) zu iterieren, müssen Sie die Funktion writerow() verwenden.

Betrachten Sie das folgende Beispiel. Wir schreiben Daten in eine Datei „writeData.csv“, wobei das Trennzeichen ein Apostroph ist.

#import necessary modules
import csv

with open('X:\writeData.csv', mode='w') as file:
    writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)

    #way to write to csv file
    writer.writerow(['Programming language', 'Designed by', 'Appeared', 'Extension'])
    writer.writerow(['Python', 'Guido van Rossum', '1991', '.py'])
    writer.writerow(['Java', 'James Gosling', '1995', '.java'])
    writer.writerow(['C++', 'Bjarne Stroustrup', '1985', '.cpp'])

Das Ergebnis in der CSV-Datei ist:

Programming language, Designed by, Appeared, Extension 
Python, Guido van Rossum, 1991, .py
Java, James Gosling, 1995, .java
C++, Bjarne Stroustrup,1983,.cpp

CSV Datei schreiben in Python

Lesen Sie die CSV-Datei mit Pandas

Pandas ist eine Open-Source-Bibliothek, die Ihnen den Import von CSV in Python und führen Sie Datenmanipulationen durch. Pandas bieten eine einfache Möglichkeit zum Erstellen, Bearbeiten und Löschen von Daten.

Sie müssen die Pandas-Bibliothek mit dem Befehl pip install pandas installieren. In Windows, führen Sie diesen Befehl in der Eingabeaufforderung unter Linux im Terminal aus.

Das Einlesen der CSV in einen Pandas DataFrame geht sehr schnell und einfach:

#import necessary modules
import pandas
result = pandas.read_csv('X:\data.csv')
print(result)

Ergebnis der Lesen Sie CSV Pandas Beispiel:

Programming language, Designed by, Appeared, Extension 
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

Sehr nützliche Bibliothek. In nur drei Codezeilen erhalten Sie das gleiche Ergebnis wie zuvor. Pandas weiß, dass die erste Zeile der CSV-Datei Spaltennamen enthielt, und verwendet diese automatisch.

Schreiben Sie eine CSV-Datei mit Pandas

Das Schreiben in eine CSV-Datei ist mit Pandas so einfach wie das Lesen. Hier können Sie sich davon überzeugen. Zuerst müssen Sie DataFrame basierend auf dem Folgenden erstellen Python in CSV-Code schreiben.

from pandas import DataFrame
C = {'Programming language': ['Python','Java', 'C++'],
        'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],
        'Appeared': ['1991', '1995', '1985'],
        'Extension': ['.py', '.java', '.cpp'],
    }
df = DataFrame(C, columns= ['Programming language', 'Designed by', 'Appeared', 'Extension'])
export_csv = df.to_csv (r'X:\pandaresult.csv', index = None, header=True) # here you have to write path, where result file will be stored
print (df)

Hier ist die Ausgabe

Programming language, Designed by, Appeared, Extension
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

Und die CSV-Datei wird am angegebenen Speicherort erstellt.

Schreiben Sie eine CSV-Datei mit Pandas

Häufig gestellte Fragen

Eine CSV-Datei (Comma-Separated Values) ist eine einfache Textdatei, die tabellarische Daten speichert. Jede Zeile entspricht einer Spalte, und Kommas trennen die Werte in jeder Spalte.

Importieren Sie das csv-Modul, öffnen Sie die Datei und übergeben Sie sie an csv.reader(), um die Zeilen als Listen zu durchlaufen. Alternativ können Sie csv.DictReader() verwenden, um jede Zeile als Wörterbuch einzulesen.

Öffnen Sie eine Datei im Schreibmodus, erstellen Sie ein `csv.writer()`-Objekt und rufen Sie `writerow()` für jede Zeile oder `writerows()` für mehrere Zeilen auf. Das `writer`-Objekt kümmert sich automatisch um Anführungszeichen und Trennzeichen.

Die Funktion `csv.DictReader()` liest eine CSV-Datei in sortierte Wörterbücher ein, wobei die Kopfzeile als Schlüssel dient. Dadurch kann auf jeden Wert über den Spaltennamen anstatt über den Index zugegriffen werden.

Rufen Sie `pandas.read_csv('file.csv')` auf, um die CSV-Datei in einem einzigen Datensatz in einen DataFrame zu laden. Pandas verwendet automatisch die erste Zeile als Spaltenüberschriften.

KI-Assistenten wie GitHub Copilot vervollständigen CSV- und Pandas-Aufrufe automatisch, generieren Lese- und Schreibschleifen und schlagen anhand einer kurzen Beschreibung das richtige Trennzeichen oder die richtige Anführungszeichenoption vor.

Ja. KI-gestützte Tools können das Parsen, Bereinigen und Konvertieren von CSV-Daten automatisieren, Pandas-Pipelines generieren und eine Fehlerbehandlung für fehlerhafte Zeilen oder fehlende Spalten hinzufügen.

Nutzen Sie das integrierte CSV-Modul für einfaches und ressourcenschonendes Lesen und Schreiben. Wählen Sie pandas, wenn Sie große CSV-Datensätze effizient filtern, transformieren oder analysieren müssen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: