Pandas DataFrame DataFrame.to_csv() 関数
Minahil Noor
2023年1月30日
-
pandas.DataFrame.to_csv()
の構文 -
コード例:
DataFrame.to_csv()
-
コード例:
DataFrame.to_csv()
で CSV データの区切り文字を指定する -
コード例:
DataFrame.to_csv()
で少数のカラムを選択し、カラム名を変更する
Python Pandas DataFrame.to_csv()
関数は、DataFrame
の行と列に含まれる値を CSV ファイルに保存します。また、DataFrame
を CSV の string
に変換することもできます。
pandas.DataFrame.to_csv()
の構文
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=".",
)
パラメータ
この関数はいくつかのパラメータを持っています。すべてのパラメータのデフォルト値は上記の通りです。
path_or_buf |
これは文字列またはファイルハンドルです。これはファイルまたはファイルオブジェクトの名前を表します。値が None の場合、DataFrame は CSV の文字列に変換されます。 |
sep |
これは文字列です。これは CSV ファイルで使われる区切り文字を表します。 |
na_rep |
これは文字列です。これは欠損データを表します。 |
float_format |
これは文字列です。これは浮動小数点数の書式を表します。 |
columns |
これは sequence です。これは CSV ファイルに保存される DataFrame のカラムを表します。 |
header |
これはブール値か文字列のリストです。値が False に設定されている場合、カラム名は CSV ファイルに保存されません。文字列のリストを指定した場合は、これらの文字列がカラム名として保存されます。 |
index |
これはブール値です。値が True の場合、行の名前(インデックス)が保存されます。 |
index_label |
これは文字列または シーケンス です。これは特定のインデックスのカラム名を表します。 |
mode |
これは文字列です。これは処理のモードを表します。ここでは DataFrame を CSV ファイルに書き込んでいるので、その値は Python の書き込みモード w です。 |
encoding |
これは文字列です。これは CSV ファイルで使用するエンコーディングスキームを表します。デフォルトのエンコーディングは utf-8 です。 |
compression |
これは文字列か辞書です。文字列の場合は圧縮モードを表します。辞書の場合は、method の値が圧縮モードを表します。圧縮モードはいくつかあります。ここにある [ https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_csv.html ] を参照してください。 |
quoting |
これは CSV モジュールからの定数を表します。 |
quotechar |
これは文字列です。長さは 1 で、フィールドの引用に使われる文字を表します。 |
line_terminator |
これは文字列です。これは CSV ファイルの改行の文字を表します。 |
chunksize |
整数です。一度に CSV ファイルに書き込む行数を表します。 |
date_format |
これは文字列です。これは DateTime オブジェクトのフォーマットを表します。 |
doublequote |
これはブール値です。これは quotechar のクォートを制御します。 |
escapechar |
これは文字列です。これは sep や quotechar のエスケープに使われる文字を表します。 |
decimal |
これは文字列です。小数点以下の小数点に使われる文字を表します。 |
戻り値
戻り値は None
か文字列です。path_or_buf
が None
の場合は DataFrame
を文字列に変換して文字列を返します。それ以外の場合は None
を返します。
コード例:DataFrame.to_csv()
この関数は、次のいくつかのコードで異なる方法で実装されます。
import pandas as pd
dataframe=pd.DataFrame({
'Attendance':
{0: 60,
1: 100,
2: 80,
3: 78,
4: 95},
'Name':
{0: 'Olivia',
1: 'John',
2: 'Laura',
3: 'Ben',
4: 'Kevin'},
'Obtained Marks':
{0: 90,
1: 75,
2: 82,
3: 64,
4: 45}
})
print(dataframe)
DataFrame
の例は、
Attendance Name Obtained Marks
0 60 Olivia 90
1 100 John 75
2 80 Laura 82
3 78 Ben 64
4 95 Kevin 45
この関数のすべてのパラメータはオプションです。パラメータを渡さずにこの関数を実行すると、以下のような出力が得られます。
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
}
)
csvstring = dataframe.to_csv()
print(csvstring)
出力:
,Attendance,Name,Obtained Marks
0,60,Olivia,90
1,100,John,75
2,80,Laura,82
3,78,Ben,64
4,95,Kevin,45
この関数はすべてのデフォルト値を用いて出力を生成しました。この関数は CSV 文字列を返しました。ここで、データを CSV ファイルに保存します。
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
}
)
returnValue = dataframe.to_csv("myfile.csv")
print(returnValue)
出力:
None
この関数はプログラムが保存されているディレクトリに新しい CSV ファイルを作成しました。
コード例:DataFrame.to_csv()
で CSV データの区切り文字を指定する
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
}
)
returnValue = dataframe.to_csv(sep="@")
print(returnValue)
出力:
@Attendance@Name@Obtained Marks
0@60@Olivia@90
1@100@John@75
2@80@Laura@82
3@78@Ben@64
4@95@Kevin@45
コード例:DataFrame.to_csv()
で少数のカラムを選択し、カラム名を変更する
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
}
)
returnValue = dataframe.to_csv(
"myfile.csv", columns=["Name", "Obtained Marks"], header=["Full Name", "Marks"]
)
print(returnValue)
出力:
None
上記のコードと同じように、さまざまなパラメータを使って CSV ファイルをカスタマイズすることができます。この関数にはいくつかのパラメータが用意されています。