So fügen Sie eine neue Reihe an CSV Python an

So fügen Sie eine neue Reihe an CSV Python an
In diesem Artikel werden wir die Methoden zum Anhängen neu erstellter Daten an eine vorhandene CSV -Datei untersuchen. Die CSV -Module bieten zwei Methoden zum Schreiben der CSV -Datei, nämlich:
  1. Schriftsteller
  2. Diktriter

Wir werden diese CSV -Schreibmethoden verwenden, um unsere neu erstellten Daten an eine vorhandene CSV -Datei anzuhängen.

Methode 1: Verwendung von csv writer () Methode

In dieser Methode werden wir die CSV -Methode writer () verwenden, um die neu erstellten Daten an den CSV anzuhängen.

CSV -Datei: Die folgende CSV -Datei (Test.CSV) Wir werden verwendet, um eine neue Zeile anzuhängen.

Monat 1958.1959.1960
Jan, 340.360.417
Februar 318.342.391
März, 362.406.419
April 348.396.461
Jan, 340.360.417
Februar 318.342.391

vom CSV -Importschreiber

vom CSV -Importschreiber
# Diese Funktion, die neue Zeilendaten in eine vorhandene CSV -Datei angehängt hat
Def appendNewrow (CSVFileName, ElementStoAppend):
# Öffnen Sie die CSV -Datei im Append -Modus
mit offen (csvFileName, 'a+', newline = ") als append_obj:
# Erstellt ein Schriftstellerobjekt aus dem Schriftstellermodul
append_writer = writer (append_obj)
# Das erstellte Schriftstellerobjekt, das die neue Zeile in den CSV schreibt
append_writer.writerow (elementStoAppend)
# Liste der neuen Elemente, die wir anhängen möchten
Newrow = ["Dec", 337, 405, 432]
# Aufrufen einer Funktion, die zwei Parameter CSV -Datei und neue Zeilendaten akzeptiert
appendNewrow ('Test.CSV ', Newrow)

Ausgang:

Monat 1958.1959.1960
Jan, 340.360.417
Februar 318.342.391
März, 362.406.419
April 348.396.461
Jan, 340.360.417
Februar 318.342.391
Dezember 337.405.432

Linie 1: Wir importieren das Autor -Modul.

Zeile 4 bis 10: Wir haben eine Funktion namens "appendNewrow" erstellt, die zwei Parameter akzeptiert (den Namen der vorhandenen CSV -Datei und der Daten). Wir öffnen die CSV -Datei (vorhandene CSV -Datei) mit dem Append -Modus ('A'), damit wir unsere neuen Daten zur CSV -Datei hinzufügen können. Dafür haben wir ein Objekt (append_writer) aus dem Autor -Modul erstellt. In der nächsten Zeile nennen wir Method Writerow vom append_writer -Objekt, um die Daten an den CSV anzuhängen.

Zeile 13 und 15: Wir haben eine neue Datenliste erstellt, die wir an eine vorhandene CSV -Datei anhängen möchten. In Zeile 15 nennen wir die Funktion "appendNewrow" und bestehen zwei Parameter (den Namen der vorhandenen CSV -Datei und die Daten).

Jetzt werden wir Daten anhängen, bei denen einige Daten fehlen.

Im vorherigen Beispiel haben wir gesehen, dass in den neu erstellten Daten keinen Spaltenwert fehlt. Aber was wird passieren, wenn wir einen fehlenden Spaltenwert haben? Selbst wenn wir einen fehlenden Spaltenwert haben, hat das Autor -Modul des CSV keine Methode, um entweder alle Spaltenwerte in den Daten zu überprüfen oder nicht.

# Liste der neuen Elemente, die wir anhängen möchten
Newrow = ["Dec", 337, 432]
# Aufrufen einer Funktion, die zwei Parameter CSV -Datei und neue Zeilendaten akzeptiert
appendNewrow ('Test.CSV ', Newrow)

Ausgang:

Monat 1958.1959.1960
Jan, 340.360.417
Februar 318.342.391
März, 362.406.419
April 348.396.461
Jan, 340.360.417
Februar 318.342.391
Dezember 337.405.432
Dezember 337.432

Wir haben einen neuen Datensatz erstellt, in dem ein Spaltenwert fehlt. Wenn wir also das obige Beispielprogramm ausführen, gibt es ein einfaches angehängtes Ergebnis, wie in der obigen Ausgabe gezeigt. Aber im Ausgang selbst können wir sehen, dass der Wert 405 fehlt. Infolgedessen fehlt dem CSV -Writer -Modul eine Methode zur Ermittlung eines fehlenden Spaltenwerts.

Wenn wir also den richtigen Spaltenwert der neu erstellten Daten anpassen möchten, müssen wir zusammen mit den Daten, wie unten, einige fehlende Werte bestehen, wie nach unten:

Newrow = ["Dec", 337, ", 432]

Der obige Fall ist keine große Sache, da es sich nur um eine einzelne Datenreihe handelt, aber wenn wir Milliarden Zeilen haben, können wir solche Situationen mit der leeren String -Add -Methode nicht bewältigen. Denn dann wird es ein sehr langwieriger Job.

Methode 2: Mithilfe von Diktriter () Methode

In dieser Methode werden wir die Methode dictWriter () diskutieren, um die neu erstellten Daten an den CSV anzuhängen. Die Dictwriter () -Methode hat auch die Möglichkeit, herauszufinden, welcher Spaltenwert fehlt.

CSV -Datei: Wir verwenden dieselbe CSV -Datei (Test.CSV) Wie wir in den vorherigen Beispielen verwendet haben.

# Diese Funktion, die neue Zeilendaten in eine vorhandene CSV -Datei angehängt hat
Def appendNewrow (CSVFileName, ElementStoAppend):
# Öffnen Sie die CSV -Datei im Append -Modus
mit offen (csvFileName, 'a+', newline = ") als append_obj:
# Erstellt ein Schriftstellerobjekt aus dem Schriftstellermodul
append_writer = dictwriter (append_obj,
Fieldnames = ['Monat', '1958', '1959', '1960'])
# Das erstellte Schriftstellerobjekt, das die neue Zeile in den CSV schreibt
append_writer.writerow (elementStoAppend)
# Liste der neuen Elemente, die wir anhängen möchten
Newrow = "Monat": "Dec", "1958": "337", "1959": "405", "1960": "432"
# Aufrufen einer Funktion, die zwei Parameter CSV -Datei und neue Zeilendaten akzeptiert
appendNewrow ('Test.CSV ', Newrow)

Ausgang:

Monat 1958.1959.1960
Jan, 340.360.417
Februar 318.342.391
März, 362.406.419
April 348.396.461
Jan, 340.360.417
Februar 318.342.391
Dezember 337.405.432

Linie 1: Wir importieren die Dictwriter -Methode.

Zeile 4 bis 12: Wir haben eine Funktion namens "appendNewrow" erstellt, die zwei Parameter akzeptiert (den Namen der vorhandenen CSV -Datei und der Daten). Wir öffnen die CSV -Datei (vorhanden) mit dem Append -Modus ('A'), damit wir unsere neuen Diktatdaten zur CSV -Datei hinzufügen können. Dann übergeben wir den Header des CSV in Form einer Liste an den Dictwriter, während wir das Objekt selbst erstellen. Wir müssen dem Objekt die Spaltennamen des CSV mitteilen, bevor wir in den CSV schreiben. Andernfalls wird ein Fehler erzeugt, da das Objekt die Schlüsselnamen des Wörterbuchs nicht verstehen kann. In der nächsten Zeile nennen wir Method Writerow vom append_writer -Objekt, um die Wörterbuchdaten an den CSV anzuhängen.

Zeile 14 bis 16: Wir haben ein neues Datenwörterbuch erstellt, das wir an eine vorhandene CSV -Datei anhängen möchten. In Zeile 16 nennen wir die Funktion "appendNewrow" und bestehen zwei Parameter (den Namen der vorhandenen CSV -Datei und die Daten).

Jetzt werden wir Daten anhängen, bei denen einige Daten fehlen.

Wie wir wissen, besteht das Hauptproblem bei der Autor -Methode darin, dass es keine Methode gibt, um automatisch festzustellen, dass ein Spaltenwert fehlt. Die Diktritermethode kann dies jedoch automatisch mit Hilfe der fehlenden Schlüssel erraten. Erforschen wir dies also mit einem Beispiel.

# Liste der neuen Elemente, die wir anhängen möchten
Newrow = "Monat": "Dec", "1958": "337", "1960": "432"
# Aufrufen einer Funktion, die zwei Parameter CSV -Datei und neue Zeilendaten akzeptiert
appendNewrow ('Test.CSV ', Newrow)

Jetzt werden wir neue DICT -Daten übergeben, bei denen der Schlüssel ('1959') mit seinem Wert fehlt. Lassen Sie uns diese Daten an das Programm weitergeben und das Ergebnis sehen.

Ausgang:

Monat 1958.1959.1960
Jan, 340.360.417
Februar 318.342.391
März, 362.406.419
April 348.396.461
Jan, 340.360.417
Februar 318.342.391
Dezember 337.405.432
Dezember 337, 432

Die obige Ausgabe zeigt, dass anstelle des fehlenden Wertes die Diktriter -Methode eine leere Zeichenfolge platziert hat.

Abschluss

Wir haben zwei Methoden gesehen, um neu erstellte Daten in eine vorhandene CSV -Datei zu schreiben. Der erste Methodeschreiber ist gut, aber nur in diesem Fall, wenn wir keine fehlenden Spaltenwerte haben. Da, wie wir bereits gesehen haben. Dies ist also ein wichtiger Nachteil der Autor -Methode. Diese Situation kann jedoch aufgrund der Tasten von der Diktritermethode sehr leicht behandelt werden.