So behandeln Sie CSV -Dateien in Python

So behandeln Sie CSV -Dateien in Python
In diesem Artikel wird ein Tutorial zum Umgang mit „CSV“ -Dateien mithilfe von Python behandelt. Der Begriff „CSV“ steht für "Comma -getrennte Werte", wobei jede Zeile oder Zeile textbasierte Werte enthält, die von Commas abgenommen wurden. In einigen Fällen wird „Semikolon“ auch anstelle von „Komma“ verwendet, um Werte zu trennen. Dies macht jedoch keinen großen Unterschied zu den Dateiformatregeln, und die Logik, beide Trennungsarten zu verarbeiten.

Das CSV -Dateiformat wird am häufigsten zur Wartung von Datenbanken und Tabellenkalkulationen verwendet. Die erste Zeile in einer CSV -Datei wird am häufigsten verwendet, um Spaltenfelder zu definieren, während andere verbleibende Linien als Zeilen betrachtet werden. Mit dieser Struktur können Benutzer tabellarische Daten mithilfe von CSV -Dateien präsentieren. CSV -Dateien können in jedem Texteditor bearbeitet werden. Anwendungen wie LibreOffice Calc bieten jedoch erweiterte Bearbeitungswerkzeuge, Sortier- und Filterfunktionen.

Lesen Sie Daten aus CSV -Dateien mit Python

Mit dem CSV -Modul in Python können Sie alle in CSV -Dateien gespeicherten Daten lesen, schreiben und manipulieren. Um eine CSV -Datei zu lesen.

Bedenken Sie, dass Sie eine CSV -Datei haben, die folgende Daten enthält:

Mango, Banane, Apfel, Orange
50,70,30,90

Die erste Zeile der Datei definiert jede Spaltenkategorie, Name der Früchte in diesem Fall. Die zweite Zeile speichert Werte unter jeder Spalte (Lagerbestand). Alle diese Werte werden durch ein Komma abgegrenzt. Wenn Sie diese Datei in einer Tabellenkalkulationsanwendung wie LibreOffice Calc öffnen würden, würde dies so aussehen:

Nun zu Werten aus „Früchten“ lesen.CSV ”-Datei Mit dem" CSV "-Modul des Python müssen Sie die Methode" Reader "im folgenden Format verwenden:

CSV importieren
mit offenem ("Früchten.CSV ") als Datei:
Data_Reader = CSV.Leser (Datei)
Für Zeile in Data_Reader:
Druck (Linie)

Die erste Zeile im obigen Beispiel importiert das CSV -Modul. Als nächstes wird die Anweisung „mit offener“ verwendet, um eine auf Ihrer Festplatte gespeicherte Datei sicher zu öffnen (“Früchte.CSV ”in diesem Fall). Ein neues "Data_Reader" -Objekt wird erstellt, indem die Methode "Leser" aus dem "CSV" -Modul aufgerufen wird. Diese „Leser“ -Methode nimmt einen Dateinamen als obligatorisches Argument an, sodass der Verweis auf „Früchte.CSV “wird an es weitergegeben. Als nächstes wird eine "für" Loop -Anweisung ausgeführt, um jede Zeile aus den "Früchten" zu drucken.CSV ”Datei. Nachdem Sie das oben erwähnte Code -Beispiel ausgeführt haben, sollten Sie die folgende Ausgabe erhalten:

['50', '70', '30', '90']

Wenn Sie die Ausgabe Zeilennummern zuweisen möchten, können Sie die Funktion „Aufzählung“ verwenden, die jedem Element in einem iterablen Element eine Nummer zuweist (beginnend von 0, sofern nicht geändert).

CSV importieren
mit offenem ("Früchten.CSV ") als Datei:
Data_Reader = CSV.Leser (Datei)
Für Index, Zeile in Enumerate (Data_reader):
Druck (Index, Zeile)

Die Variable "Index" behält die Anzahl für jedes Element. Nachdem Sie das oben erwähnte Code -Beispiel ausgeführt haben, sollten Sie die folgende Ausgabe erhalten:

0 ['Mango', 'Banane', 'Apple', 'Orange']
1 ['50', '70', '30', '90']

Da die erste Zeile in einer "CSV" -Datei normalerweise Spaltenüberschriften enthält, können Sie die Funktion "Aufzählung" verwenden, um diese Überschriften zu extrahieren:

CSV importieren
mit offenem ("Früchten.CSV ") als Datei:
Data_Reader = CSV.Leser (Datei)
Für Index, Zeile in Enumerate (Data_reader):
Wenn Index == 0:
Überschriften = Linie
Druck (Überschriften)

Der "if" -Block in der obigen Anweisung prüft, ob der Index gleich Null ist (erste Zeile in „Früchten“.CSV ”Datei). Wenn ja, dann wird der Wert der Variablen "Zeilen" einer neuen "Überschriften" -Variable zugewiesen. Wenn Sie anschließend das Code -Beispiel oben ausgeführt werden, sollten Sie die folgende Ausgabe erhalten:

['Mango', 'Banane', 'Apple', 'Orange']

Beachten Sie, dass Sie Ihren eigenen Trennzeichen verwenden können, wenn Sie „CSV anrufen“.Lesermethode mithilfe eines optionalen Arguments „Trennzeichen“ im folgenden Format:

CSV importieren
mit offenem ("Früchten.CSV ") als Datei:
Data_Reader = CSV.Leser (Datei, Delimiter = ";")
Für Zeile in Data_Reader:
Druck (Linie)

Da in einer CSV -Datei jede Spalte mit Werten in einer Zeile zugeordnet ist, möchten Sie möglicherweise ein Python -Objekt "Dictionary" erstellen, wenn Daten aus einer "CSV" -Datei gelesen werden. Dazu müssen Sie die Methode "Dictreader" verwenden, wie im folgenden Code gezeigt:

CSV importieren
mit offenem ("Früchten.CSV ") als Datei:
Data_Reader = CSV.Dictreader (Datei)
Für Zeile in Data_Reader:
Druck (Linie)

Nachdem Sie das oben erwähnte Code -Beispiel ausgeführt haben, sollten Sie die folgende Ausgabe erhalten:

'Mango': '50', 'Banana': '70', 'Apple': '30', 'Orange': '90'

Jetzt haben Sie also ein Wörterbuchobjekt, das einzelne Spalten mit ihren entsprechenden Werten in den Zeilen assoziiert. Dies funktioniert gut, wenn Sie nur eine Zeile haben. Nehmen wir an, dass die „Früchte.Die CSV -Datei enthält jetzt eine zusätzliche Zeile, in der angeben.

Mango, Banane, Apfel, Orange
50,70,30,90
3,1,6,4

Wenn Sie mehrere Zeilen haben, erzeugt das Ausführen des gleichen Code -Beispiels oben unterschiedliche Ausgaben.

'Mango': '50', 'Banana': '70', 'Apple': '30', 'Orange': '90'
'Mango': '3', 'Banana': '1', 'Apple': '6', 'Orange': '4'

Dies ist möglicherweise nicht ideal, da Sie möglicherweise alle Werte zu einer Spalte zu einem Schlüsselwertpaar in einem Python-Wörterbuch zuordnen möchten. Probieren Sie stattdessen dieses Code -Beispiel aus:

CSV importieren
mit offenem ("Früchten.CSV ") als Datei:
Data_Reader = CSV.Dictreader (Datei)
Data_Dict =
Für Zeile in Data_Reader:
Für den Schlüssel, Wert in der Linie.Artikel():
Data_Dict.setDefault (Schlüssel, [])
Data_Dict [Schlüssel].anhängen (Wert)
print (data_dict)

Nachdem Sie das oben erwähnte Code -Beispiel ausgeführt haben, sollten Sie die folgende Ausgabe erhalten:

'Mango': ['50', '3'], 'Banana': ['70', '1'], 'Apple': ['30', '6'], 'Orange': ['90 ',' 4 ']

In jedem Element des "Dictreader" -Objekts wird eine "für" -Schloop verwendet, um über Schlüsselwertpaare zu schieben. Vor diesem. Es wird endgültige Datenzuordnungen gespeichert. Im Rahmen des zweiten "für" Loop -Blocks wird die "SetDefault" -Methode von Python Dictionary verwendet. Diese Methode weist einem Wörterbuchschlüssel einen Wert zu. Wenn das Schlüsselwertpaar nicht vorhanden ist, wird ein neues aus den angegebenen Argumenten erstellt. In diesem Fall wird also eine neue leere Liste einem Schlüssel zugeordnet, wenn es noch nicht vorhanden ist. Zuletzt wird „Wert“ im endgültigen "Data_Dict" -Objekt an seinen entsprechenden Schlüssel angehängt.

Daten in eine CSV -Datei schreiben

Um Daten in eine CSV -Datei zu schreiben, müssen Sie die Methode "Writer" aus dem "CSV" -Modul verwenden. Das folgende Beispiel wird eine neue Zeile an die vorhandenen „Früchte“ anhängen.CSV ”Datei.

CSV importieren
mit offenem ("Früchten.CSV "," a ") als Datei:
Data_Writer = CSV.Schriftsteller (Datei)
Data_Writer.Writerow ([3,1,6,4])

Die erste Anweisung öffnet die Datei im "Append" -Modus, der durch das Argument "A" bezeichnet wird. Als nächstes wird die „Schriftsteller“ -Methode genannt und der Verweis auf „Früchte.Die CSV -Datei wird als Argument an sie übergeben. Die Methode "writerow" schreibt oder fügt der Datei eine neue Zeile hinzu.

Wenn Sie das Python -Wörterbuch in eine CSV -Dateistruktur konvertieren und die Ausgabe in einer CSV -Datei speichern möchten, probieren Sie diesen Code aus:

CSV importieren
mit offenem ("Früchten.CSV "," W ") als Datei:
Überschriften = ["Mango", "Banane", "Apple", "Orange"]
Data_Writer = CSV.Dictwriter (Datei, Feldnames = Überschriften)
Data_Writer.WritHeHeHeader ()
Data_Writer.Writerow ("Mango": 50, "Banane": 70, "Apple": 30, "Orange": 90)
Data_Writer.writerow ("mango": 3, "banane": 1, "apple": 6, "orange": 4)

Nach dem Öffnen einer leeren „Früchte.Die CSV -Datei mit einer Anweisung "mit offener" wird eine neue Variable "Überschriften" definiert, die Spaltenüberschriften enthält. Ein neues Objekt "data_writer" wird erstellt, indem die Methode "Dictwriter" aufgerufen und auf die "Früchte verweisen.CSV -Datei und ein Argument "Feldnamen". In der nächsten Zeile werden Spaltenüberschriften mit der Methode "Recrectheader" in die Datei geschrieben. Die letzten beiden Aussagen fügen ihren entsprechenden Überschriften, die im vorherigen Schritt erstellt wurden, neue Zeilen hinzu.

Abschluss

CSV -Dateien bieten eine nette Möglichkeit, Daten im tabellarischen Format zu schreiben. Das integrierte CSV-Modul von Python erleichtert es einfach, die in „CSV“ -Dateien verfügbaren Daten zu verarbeiten und weitere Logik zu implementieren.