將 Pandas DataFrame 寫入 CSV

Suraj Joshi 2023年1月30日 2021年1月22日
  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

這裡的值用製表符分隔。

Author: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

相關文章 - Pandas DataFrame