Python

Umgang mit CSV-Dateien in Python

Umgang mit CSV-Dateien in Python
In diesem Thema werden wir lernen, wie man CSV-Dateien in Python liest und schreibt.

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:

Öffnen Sie eine CSV-Datei

Die eingebaute Methode open() wird verwendet.

Ex:

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 importieren
mit 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 importieren
mit 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 importieren
head_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 importieren
mit 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 importieren
mit 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.

Shadow of the Tomb Raider für Linux Tutorial
Shadow of the Tomb Raider ist die zwölfte Erweiterung der Tomb Raider-Reihe – ein Action-Adventure-Franchise von Eidos Montrealdos. Das Spiel wurde vo...
So steigern Sie die FPS unter Linux?
FPS steht für Bilder pro Sekunde. Die Aufgabe von FPS besteht darin, die Bildrate bei Videowiedergaben oder Spielleistungen zu messen. In einfachen Wo...
Top Oculus App Lab-Spiele
Wenn Sie Besitzer eines Oculus-Headsets sind, müssen Sie über Sideloading informiert sein. Sideloading ist der Prozess der Installation von Inhalten, ...