将 Pandas DataFrame 写入 CSV

Suraj Joshi 2023年1月30日
  1. pandas.DataFrame.to_csv() 函数语法
  2. 使用 pandas.DataFrame.to_csv() 函数将 DataFrame 写入 CSV 文件
  3. 使用 pandas.DataFrame.to_csv() 函数将 DataFrame 写入 CSV 文件并忽略索引
  4. pandas.DataFrame.to_csv() 函数中指定一个分隔符
将 Pandas DataFrame 写入 CSV

本教程介绍了我们如何使用 pandas.DataFrame.to_csv() 函数将 DataFrame 写入 CSV 文件。pandas.DataFrame.to_csv() 函数将 DataFrame 的元素写入 CSV 文件。

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

使用 pandas.DataFrame.to_csv() 函数将 DataFrame 写入 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)

输出:

  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

然后我们将把 DataFrame mid_term_marks_df 写入 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")

它将创建一个名为 midterm.csv 的文件,并将 DataFrame 的值写入该文件,其中相邻行的值用逗号 , 分开。

midterm.csv 文件的内容将是。

,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

默认情况下,pandas.DataFrame.to_csv() 函数也会将 DataFrame 的索引写入 CSV 中,但索引可能并不总是在所有情况下有用。

使用 pandas.DataFrame.to_csv() 函数将 DataFrame 写入 CSV 文件并忽略索引

为了忽略索引,我们可以在 pandas.DataFrame.to_csv() 函数中设置 index=False

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)

在这种情况下,midterm.csv 文件的内容将是。

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

有时,我们在将 DataFrame 的内容写入 CSV 文件时,可能会出现 UnicodeEncodeError。在这种情况下,我们可以设置 encoding='utf-8',启用 utf-8 编码格式。

pandas.DataFrame.to_csv() 函数中指定一个分隔符

默认情况下,当将 DataFrame 写入 CSV 文件时,值用逗号分隔。如果我们想使用其他符号作为分隔符,可以使用 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")

在这种情况下,midterm.csv 文件的内容将是。

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

这里的值用制表符分隔。

作者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

相关文章 - Pandas DataFrame