So lesen Sie eine CSV-Datei in Python (Modul, Pandas-Beispiele)
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.
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')])
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
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.
Fazit
Jetzt wissen Sie also, wie Sie die Methode โcsvโ verwenden und Daten im CSV-Format lesen und schreiben. CSV-Dateien werden in Softwareanwendungen hรคufig verwendet, da sie leicht zu lesen und zu verwalten sind und aufgrund ihrer geringen Grรถรe relativ schnell verarbeitet und รผbertragen werden kรถnnen.
Das CSV-Modul bietet verschiedene Funktionen und Klassen, die Ihnen das Lesen und Schreiben erleichtern. Sie kรถnnen sich die offizielle Python Dokumentation und finden Sie weitere interessante Tipps und Module. CSV ist die beste Mรถglichkeit zum Speichern, Anzeigen und Senden von Daten. Eigentlich ist es nicht so schwer zu lernen, wie es am Anfang scheint. Aber mit ein wenig รbung werden Sie es meistern.
Pandas ist eine groรartige Alternative zum Lesen von CSV-Dateien.
Es gibt auch andere Mรถglichkeiten, Textdateien mit Bibliotheken wie ANTLR, PLY und PlyPlus zu analysieren. Sie alle kรถnnen anspruchsvolles Parsen bewรคltigen, und wenn eine einfache String-Manipulation nicht funktioniert, gibt es regulรคre Ausdrรผcke, die Sie verwenden kรถnnen.



