Schreiben eines Pandas DataFrame nach CSV

Suraj Joshi 30 Januar 2023
  1. Syntax der pandas.DataFrame.to_csv() Funktion
  2. Schreiben eines DataFrame in eine CSV-Datei mit der Funktion pandas.DataFrame.to_csv()
  3. Schreiben eines DataFrame in eine CSV-Datei mit der Funktion pandas.DataFrame.to_csv() Ignorieren der Indizes
  4. Festlegen eines Trennzeichens in der Funktion pandas.DataFrame.to_csv()
Schreiben eines Pandas DataFrame nach CSV

Dieses Tutorial erklärt, wie man einen DataFrame mit Hilfe der Funktion pandas.DataFrame.to_csv() in eine CSV-Datei schreiben kann. Die Funktion pandas.DataFrame.to_csv() schreibt die Einträge eines DataFrame in eine CSV-Datei.

Syntax der pandas.DataFrame.to_csv() Funktion

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=".",
)

Schreiben eines DataFrame in eine CSV-Datei mit der Funktion 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)

Ausgabe:

  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

Anschließend schreiben wir den DataFrame mid_term_marks_df in eine CSV-Datei.

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")

Es wird eine Datei mit dem Namen midterm.csv erstellt und die DataFrame-Werte in die Datei geschrieben, wobei die benachbarten Werte in einer Zeile durch ein Komma , getrennt werden.

Der Inhalt der Datei midterm.csv wird sein:

,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

Standardmäßig schreibt die Funktion pandas.DataFrame.to_csv() auch die Indizes des DataFrame in die CSV-Datei, aber der Index ist vielleicht nicht in allen Fällen nützlich.

Schreiben eines DataFrame in eine CSV-Datei mit der Funktion pandas.DataFrame.to_csv() Ignorieren der Indizes

Um die Indizes zu ignorieren, können wir index=False in der Funktion pandas.DataFrame.to_csv() setzen.

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)

In diesem Fall wird der Inhalt der Datei midterm.csv sein:

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

Manchmal können wir UnicodeEncodeError erhalten, während wir den Inhalt eines DataFrame in eine CSV-Datei schreiben. In solchen Fällen können wir encoding='utf-8' einstellen, was das utf-8-Kodierungsformat aktiviert.

Festlegen eines Trennzeichens in der Funktion pandas.DataFrame.to_csv()

Standardmäßig werden beim Schreiben des DataFrame in eine CSV-Datei die Werte durch ein Komma getrennt. Wenn wir ein anderes Symbol als Trennzeichen verwenden wollen, können wir es mit dem Parameter sep angeben.

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")

In diesem Fall wird der Inhalt der Datei midterm.csv sein:

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

Hier sind die Werte durch einen Tabulator getrennt.

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Verwandter Artikel - Pandas DataFrame