Pandas の DataFrame を CSV に書き込む
-
pandas.DataFrame.to_csv()
関数の構文 - 関数
pandas.DataFrame.to_csv()
を用いて DataFrame を CSV ファイルに書き込む - インデックスを無視して
pandas.DataFrame.to_csv()
関数を使用してデータフレームを 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()
関数を使用してデータフレームを 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
ファイルの内容は 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 is a backend software engineer at Matrice.ai.
LinkedIn