Pandas Anhängen an CSV

Manav Narula 15 Februar 2024
Pandas Anhängen an CSV

Python Pandas ermöglicht es uns, Daten effizient zu manipulieren und zu verwalten. Wir können DataFrames erstellen und verwalten und verschiedene Operationen mit ihnen durchführen. Es erlaubt uns auch, eine externe CSV- oder Excel-Datei zu lesen, DataFrames zu importieren, mit ihnen zu arbeiten und sie wieder zu speichern. Eine interessante Funktion beim Speichern von Daten ist der append-Modus mit dem Parameter a, mit dem man Daten an eine bereits vorhandene CSV-Datei anhängen kann.

In diesem Artikel wird vorgestellt, wie man mit Pandas Daten an eine CSV-Datei anhängen kann.

import pandas as pd

df = pd.DataFrame([[6, 7, 8], [9, 12, 14], [8, 10, 6]], columns=["a", "b", "c"])

print(df)

df.to_csv(r"C:\Test\data.csv", index=False)

df2 = pd.DataFrame([[4, 1, 3], [6, 7, 2], [5, 9, 4]], columns=["a", "b", "c"])

print(df2)

df2.to_csv(r"C:\Test\data.csv", mode="a", header=False, index=False)

Ausgabe:

   a   b   c
0  6   7   8
1  9  12  14
2  8  10   6
   a  b  c
0  4  1  3
1  6  7  2
2  5  9  4

pandas an csv.png anhängen

Die gespeicherte CSV-Datei wird die beiden DataFrames mit den Daten des df2 an die ursprüngliche Datei angehängt haben.

Es gibt noch eine weitere Funktion, die wir zu diesem Code hinzufügen können. Mit nur wenigen Codezeilen können wir sicherstellen, dass die Funktion to_csv() eine Datei erstellt, wenn sie nicht existiert, und Kopfzeilen überspringt, wenn sie bereits existiert. Wir werden die Anweisung with für die Ausnahmebehandlung und open() zum Öffnen einer Datei verwenden.

import pandas as pd

df = pd.DataFrame([[6, 7, 8], [9, 12, 14], [8, 10, 6]], columns=["a", "b", "c"])

print(df)

df.to_csv(r"C:\Test\data.csv", index=False)

df2 = pd.DataFrame([[4, 1, 3], [6, 7, 2], [5, 9, 4]], columns=["a", "b", "c"])

print(df2)

with open(r"C:\Test\data.csv", mode="a") as f:
    df2.to_csv(f, header=f.tell() == 0, index=False)

Ausgabe:

   a   b   c
0  6   7   8
1  9  12  14
2  8  10   6
   a  b  c
0  4  1  3
1  6  7  2
2  5  9  4

Die Methode tell() des Dateiobjekts gibt die aktuelle Cursorposition zurück. Wenn also die Datei leer ist oder nicht existiert, ist f.tell==0 True, so dass header auf True gesetzt wird; andernfalls wird header auf False gesetzt.

Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn