Pandas Appendice au CSV

Manav Narula 15 février 2024
Pandas Appendice au CSV

Python Pandas nous permet de manipuler et de gérer les données efficacement. Nous pouvons créer et gérer des DataFrames et effectuer diverses opérations sur ces derniers. Il nous permet également de lire un fichier CSV ou excel externe, d’importer des DataFrames, de travailler dessus et de les sauvegarder. Une caractéristique intéressante de la sauvegarde des données est le mode append utilisant le paramètre a, qui peut être utilisé pour ajouter des données à un fichier CSV déjà existant.

Cet article présente la façon d’ajouter des données au CSV en utilisant des Pandas.

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)

Production :

   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 ajoutent à csv

Le fichier CSV enregistré contiendra les deux DataFrames avec les données du df2 annexées au fichier original.

Nous pouvons également ajouter une autre caractéristique à ce code. Avec seulement quelques lignes de code, nous pouvons nous assurer que la fonction to_csv() créera un fichier s’il n’existe pas et sautera les en-têtes s’il existe déjà. Nous utiliserons l’instruction with pour la gestion des exceptions et open() pour ouvrir un fichier.

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)

Production :

   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

La méthode tell() de l’objet fichier retourne la position actuelle du curseur. Par conséquent, si le fichier est vide ou n’existe pas, f.tell==0 est True, de sorte que header est mis à True ; sinon, header est mis à False.

Auteur: Manav Narula
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