Definition: CSV (Comma Separated Value) ähnelt einer Textdatei, in der die gespeicherten Daten durch ein Trennzeichen (normalerweise ein Komma) getrennt sind. Jedes Feld ist durch ein Trennzeichen getrennt. In Python werden CSV-Dateien mit dem CSV-Modul verarbeitet. Also müssen wir dieses Modul importieren.
Ex: CSV-Datei importieren
Das folgende Beispiel zeigt, wie die Daten in einer CSV-Datei gespeichert werden. Hier wird ein Komma als Trennzeichen verwendet.
Dateiname: person_info.csv
Vorname, zweiter Vorname, Nachname, Alter
Anand, Kumar, Mathe, 31
Sachin, Ramesh, Tendulakar, 40
Virendra,sehwag,singh,38
Rahul,dravid,xyz,40
Die CSV-Datei kann in einem der folgenden Modi geöffnet werden:
r -> Lesemodus
w -> Schreibmodus
a -> Append-Modus
In Python wird eine Dateioperation in der folgenden Reihenfolge ausgeführt:
- Öffne einen Ordner;
- Lesen, schreiben oder anhängen. Wenn wir den Schreibmodus angeben, wird die Datei im Schreibmodus geöffnet, wenn die Datei vorhanden ist, andernfalls wird eine Datei erstellt. Dies gilt auch für den Append-Modus. Wenn im Lesemodus eine Datei vorhanden ist, wird die Datei im Lesemodus geöffnet, andernfalls wird die FileNotFoundError-Ausnahme ausgelöst; und
- Schließen Sie die Datei.
Öffnen Sie eine CSV-Datei
Die eingebaute Methode open() wird verwendet.
Ex:
- f = open(“Dateiname.csv””,”r”) # In csv ist Python standardmäßig der Lesemodus
- f = open(“Dateiname.csv”,'w') # Schreibmodus
Schließen einer Datei
Die eingebaute Methode close() wird verwendet.
fp = open("Dateiname.csv",'w')# einige Dateioperationen ausführen
fp.schließen()
Dateioperationen mit with
Die beste und am häufigsten verwendete Methode zum Ausführen von CSV-Dateivorgängen ist die Anweisung. Dadurch wird sichergestellt, dass die Datei geschlossen wird, wenn der Block darin mit verlassen wird.
Ex:
mit open('Dateiname.csv', 'w', encoding = 'utf-8') als fp:#einige Dateioperationen ausführen
#Anweisungen außerhalb des with-Blocks
Wenn wir mit Block beenden, wird die Datei automatisch geschlossen.
In eine CSV-Datei schreiben
Um in eine CSV-Datei zu schreiben, müssen wir sie im Schreibmodus "w" öffnen oder im Modus "a" anhängen.
Im folgenden Beispiel werden wir aus einer Datei lesen und in eine neue Datei schreiben.
CSV-Datei importierenmit open('Dateiname.csv','r') als fp:
Leser = csv.reader(fp)#Datei lesen
with open('neuerDateiname.csv','w') als fq:
Schriftsteller = csv.Schriftsteller(fq, Trennzeichen = '-')
für Zeile im Reader:#Um jede Zeile zu iterieren
Schriftsteller.writerow(line)#write line in neue Datei
Wörterbuchschreiber verwenden
Im folgenden Beispiel werden wir mit der Methode DictWriter() aus einer Datei lesen und in eine neue Datei schreiben.
CSV-Datei importierenmit open('Dateiname.csv','r') als fp:
Leser = csv.DictReader(fp)#Datei lesen
with open('neuerDateiname.csv','w',newline=") as fq:#newline ="um das Hinzufügen zusätzlicher neuer Zeilen zu vermeiden
row_names = ['Vorname','Vorname','Nachname','Alter']
Schriftsteller = csv.DictWriter(fq, fieldnames = row_names, delimiter = '-')
Schriftsteller.writeheader()#write Überschriftszeilen
für Zeile im Reader:
Schriftsteller.Schreibzeile (Zeile)
Schreibzeilen()
Diese Methode schreibt mehrere Zeilen gleichzeitig; wir müssen eine Liste von Listen übergeben. Ex:
CSV-Datei importierenhead_names = ['Vorname','Vorname','Nachname','Alter']
# Datenzeilen der CSV-Datei
Zeilen = [['Anand','kumar','mathe',31],
['Sachin','ramesh','tendulakar',40],
['Virendra','sehwag','singh',38],
['Rahul','dravid','xyz',40]]
# in CSV-Datei schreiben
with open('neuerDateiname.csv', 'w') als fp:
# Erstellen eines CSV-Writer-Objekts
csvwriter = csv.Schriftsteller (fp)
# schreibe die Überschrift
csvwriter.writerow(head_names)
# schreibe die Datenzeilen
csvwriter.Schreibzeilen (Zeilen)
Aus Datei lesen
Um die CSV-Datei in Python zu lesen, müssen wir die Datei im Lesemodus 'r' öffnen. Ex:
CSV-Datei importierenmit open('Dateiname.csv','r') als fp:
Daten = csv.Leser (fp)
#Standardtrennzeichen ist Komma, wenn csv durch andere Trennzeichen getrennt angegeben werden muss
#Ex-Daten = csv.Leser(fp, Trennzeichen = '-')
print(data) # es gibt Objekt zurück
#Kopfzeile überspringen
next(data)#call next Methode des Generators
für Zeile in Daten:#Um jede Zeile zu iterieren
print(line) # drucke jeden Wert in einer Liste
fp.seek(0)# bringt den Cursor in die erste Zeile
für Zeile in Daten:
print(line[0])# nur Vornamen drucken
Wörterbuch-Reader verwenden
CSV-Datei mit der Methode DictReader() lesen.
CSV-Datei importierenmit open('Dateiname.csv','r') als fp:
Leser = csv.DictReader(fp)#Datei lesen
für Zeile im Reader:
print(line)#drucke jede Zeile in Form eines Wörterbuchs
fp.seek(0)# bringt den Cursor in die erste Zeile
für Daten im Reader:
print(data['age'])#wir können nur das Alter drucken, indem wir den 'Alter'-Schlüssel verwenden
Fazit
Wir haben gelernt, eine Datei mit dem CSV-Modul zu lesen und zu schreiben. Die CSV-Datei ist das am häufigsten verwendete Dateiformat in der Automatisierungsbranche, da die Daten einfach zu lesen und zu ändern sind. Pandas ist auch eine weitere Methode, mit der wir CSV-Dateien verarbeiten können.