將 Pandas DataFrame 寫入 CSV
Suraj Joshi
2023年1月30日
-
pandas.DataFrame.to_csv()
函式語法 -
使用
pandas.DataFrame.to_csv()
函式將 DataFrame 寫入 CSV 檔案 -
使用
pandas.DataFrame.to_csv()
函式將 DataFrame 寫入 CSV 檔案並忽略索引 -
在
pandas.DataFrame.to_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 is a backend software engineer at Matrice.ai.
LinkedIn