Ecrire un Pandas DataFrame en CSV

Suraj Joshi 30 janvier 2023
  1. Syntaxe de la fonction pandas.DataFrame.to_csv()
  2. Ecrire un DataFrame dans un fichier CSV en utilisant la fonction pandas.DataFrame.to_csv()
  3. Ecrire un DataFrame dans un fichier CSV en utilisant la fonction pandas.DataFrame.to_csv() Ignorer les indices
  4. Spécifiez un séparateur dans la fonction pandas.DataFrame.to_csv()
Ecrire un Pandas DataFrame en CSV

Ce tutoriel explique comment nous pouvons écrire un DataFrame dans un fichier CSV en utilisant la fonction pandas.DataFrame.to_csv(). La fonction pandas.DataFrame.to_csv() écrit les entrées de DataFrame dans un fichier CSV.

Syntaxe de la fonction pandas.DataFrame.to_csv()

pandas.DataFrame.to_csv(
    path_or_buf=None,
    sep=",",
    na_rep="",
    float_format=None,
    columns=None,
    header=True,
    index=True,
    index_label=None,
    mode="w",
    encoding=None,
    compression="infer",
    quoting=None,
    quotechar='""',
    line_terminator=None,
    chunksize=None,
    date_format=None,
    doublequote=True,
    escapechar=None,
    decimal=".",
)

Ecrire un DataFrame dans un fichier CSV en utilisant la fonction pandas.DataFrame.to_csv()

import pandas as pd

mid_term_marks = {
    "Student": ["Kamal", "Arun", "David", "Thomas", "Steven"],
    "Economics": [10, 8, 6, 5, 8],
    "Fine Arts": [7, 8, 5, 9, 6],
    "Mathematics": [7, 3, 5, 8, 5],
}


mid_term_marks_df = pd.DataFrame(mid_term_marks)

print(mid_term_marks_df)

Production :

  Student  Economics  Fine Arts  Mathematics
0   Kamal         10          7            7
1    Arun          8          8            3
2   David          6          5            5
3  Thomas          5          9            8
4  Steven          8          6            5

Nous allons ensuite écrire le DataFrame mid_term_marks_df dans un fichier CSV.

import pandas as pd

mid_term_marks = {
    "Student": ["Kamal", "Arun", "David", "Thomas", "Steven"],
    "Economics": [10, 8, 6, 5, 8],
    "Fine Arts": [7, 8, 5, 9, 6],
    "Mathematics": [7, 3, 5, 8, 5],
}


mid_term_marks_df = pd.DataFrame(mid_term_marks)

mid_term_marks_df.to_csv("midterm.csv")

Il créera un fichier nommé midterm.csv et écrira les valeurs de la DataFrame dans le fichier où les valeurs adjacentes d’une ligne sont séparées par une virgule ,.

Le contenu du fichier midterm.csv sera :

,Student,Economics,Fine Arts,Mathematics
0,Kamal,10,7,7
1,Arun,8,8,3
2,David,6,5,5
3,Thomas,5,9,8
4,Steven,8,6,5

Par défaut, la fonction pandas.DataFrame.to_csv() écrit également les index de DataFrame dans le CSV, mais l’index ne sera pas toujours utile dans tous les cas.

Ecrire un DataFrame dans un fichier CSV en utilisant la fonction pandas.DataFrame.to_csv() Ignorer les indices

Pour ignorer les indices, on peut mettre index=False dans la fonction pandas.DataFrame.to_csv().

import pandas as pd

mid_term_marks = {
    "Student": ["Kamal", "Arun", "David", "Thomas", "Steven"],
    "Economics": [10, 8, 6, 5, 8],
    "Fine Arts": [7, 8, 5, 9, 6],
    "Mathematics": [7, 3, 5, 8, 5],
}


mid_term_marks_df = pd.DataFrame(mid_term_marks)

mid_term_marks_df.to_csv("midterm.csv", index=False)

Dans ce cas, le contenu du fichier midterm.csv sera :

Student,Economics,Fine Arts,Mathematics
Kamal,10,7,7
Arun,8,8,3
David,6,5,5
Thomas,5,9,8
Steven,8,6,5

Parfois, nous pouvons obtenir une UnicodeEncodeError en écrivant le contenu d’une DataFrame dans un fichier CSV. Dans ce cas, nous pouvons définir encoding='utf-8' qui active le format d’encodage utf-8.

Spécifiez un séparateur dans la fonction pandas.DataFrame.to_csv()

Par défaut, lors de l’écriture du DataFrame dans un fichier CSV, les valeurs sont séparées par une virgule. Si nous voulons utiliser d’autres symboles comme séparateur, nous pouvons le spécifier en utilisant le paramètre sep.

import pandas as pd

mid_term_marks = {
    "Student": ["Kamal", "Arun", "David", "Thomas", "Steven"],
    "Economics": [10, 8, 6, 5, 8],
    "Fine Arts": [7, 8, 5, 9, 6],
    "Mathematics": [7, 3, 5, 8, 5],
}


mid_term_marks_df = pd.DataFrame(mid_term_marks)

mid_term_marks_df.to_csv("midterm.csv", index=False, sep="\t")

Dans ce cas, le contenu du fichier midterm.csv sera :

Student Economics Fine Arts Mathematics
Kamal 10  7 7
Arun  8 8 3
David 6 5 5
Thomas  5 9 8
Steven  8 6 5

Ici, les valeurs sont séparées par une tabulation.

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Article connexe - Pandas DataFrame