Pandas DataFrame DataFrame.to_excel()関数
-
pandas.DataFrame.to_excel()
の構文 -
コード例:Pandas
DataFrame.to_excel()
-
コード例:Pandas
DataFrame.to_excel()
とExcelWriter
-
コード例:既存の Excel ファイルに追加する Pandas
DataFrame.to_excel
-
コード例:複数のシートを書き込むための Pandas
DataFrame.to_excel
-
コード例:
header
パラメータを持つ PandasDataFrame.to_excel
-
コード例:Pandas
DataFrame.to_excel
とindex = False
-
コード例:Pandas
DataFrame.to_excel
とindex_label
パラメータ -
コード例:
float_format
パラメータを持つ PandasDataFrame.to_excel
-
コード例:
freeze_panes
パラメーターを持つ PandasDataFrame.to_excel
Python Pandas DataFrame.to_excel(values)
関数は、データフレームデータを単一シートまたは複数シートの Excel ファイルにダンプします。
pandas.DataFrame.to_excel()
の構文
DataFrame.isin(
excel_writer,
sheet_name="Sheet1",
na_rep="",
float_format=None,
columns=None,
header=True,
index=True,
index_label=None,
startrow=0,
startcol=0,
engine=None,
merge_cells=True,
encoding=None,
inf_rep="inf",
verbose=True,
freeze_panes=None,
)
パラメーター
excel_writer |
Excel ファイルパスまたは既存の pandas.ExcelWriter |
sheet_name |
DataFrame がダンプするシート名 |
na_rep |
null 値の表現。 |
float_format |
浮動小数点数の形式 |
header |
生成された Excel ファイルのヘッダーを指定します。 |
index |
True の場合、DataFrame index を Excel に書き込みます。 |
index_label |
インデックス列の列ラベル。 |
startrow |
Excel にデータを書き込むための左上のセル行。 デフォルトは 0 です |
startcol |
Excel にデータを書き込むための左上のセル列。 デフォルトは 0 です |
engine |
使用するエンジンを指定するオプションのパラメーター。openyxl または xlswriter |
merge_cells |
結合されたセルに MultiIndex を結合します |
encoding |
出力 Excel ファイルのエンコーディング。xlwt ライターを使用する場合にのみ必要であり、他のライターは Unicode をネイティブでサポートします。 |
inf_rep |
無限の表現。デフォルトは inf です |
verbose |
True の場合、エラーログはより多くの情報で構成されます |
freeze_panes |
フリーズしたペインの一番下と一番右を指定します。これは 1 ベースですが、0 ベースではありません。 |
戻り値
None
コード例:Pandas DataFrame.to_excel()
import pandas as pd
dataframe= pd.DataFrame({'Attendance': [60, 100, 80, 78, 95],
'Name': ['Olivia', 'John', 'Laura', 'Ben', 'Kevin'],
'Marks': [90, 75, 82, 64, 45]})
dataframe.to_excel('test.xlsx')
呼び出し元の DataFrame
は
Attendance Name Marks
0 60 Olivia 90
1 100 John 75
2 80 Laura 82
3 78 Ben 64
4 95 Kevin 45
test.xlsx
が作成されます。
コード例:Pandas DataFrame.to_excel()
と ExcelWriter
上記の例では、ファイルパスを excel_writer
として使用していますが、pandas.Excelwriter
を使用して、DataFrame
ダンプする Excel ファイルを指定することもできます。
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx") as writer:
dataframe.to_excel(writer)
コード例:既存の Excel ファイルに追加する Pandas DataFrame.to_excel
import pandas as pd
import openpyxl
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx", mode="a", engine="openpyxl") as writer:
dataframe.to_excel(writer, sheet_name="new")
engine
を openpyxl
として指定する必要がありますが、デフォルトの xlsxwriter
ではありません。そうしないと、xlswriter
が追加モードをサポートしないというエラーが発生します。
ValueError: Append mode is not supported with xlsxwriter!
openpyxl
は pandas
の一部ではないため、インストールしてインポートする必要があります。
pip install openpyxl
コード例:複数のシートを書き込むための Pandas DataFrame.to_excel
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx") as writer:
dataframe.to_excel(writer, sheet_name="Sheet1")
dataframe.to_excel(writer, sheet_name="Sheet2")
DataFrame
オブジェクトを Sheet1
と Sheet2
の両方にダンプします。
また、columns
パラメータを指定すると、異なるデータを複数のシートに書き込むことができます。
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx") as writer:
dataframe.to_excel(writer, columns=["Name", "Attendance"], sheet_name="Sheet1")
dataframe.to_excel(writer, columns=["Name", "Marks"], sheet_name="Sheet2")
コード例:header
パラメータを持つ Pandas DataFrame.to_excel
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx") as writer:
dataframe.to_excel(writer, header=["Student", "First Name", "Score"])
作成された Excel ファイルのデフォルトのヘッダーは、DataFrame
の列名と同じです。header
パラメータはデフォルトのヘッダーを置き換える新しいヘッダーを指定します。
コード例:Pandas DataFrame.to_excel
と index = False
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx") as writer:
dataframe.to_excel(writer, index=False)
index = False
は、DataFrame.to_excel()
がヘッダー行のない Excel ファイルを生成することを指定します。
コード例:Pandas DataFrame.to_excel
と index_label
パラメータ
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx") as writer:
dataframe.to_excel(writer, index_label="id")
index_label = 'id'
は、インデックス列の列名を id
に設定します。
コード例:float_format
パラメータを持つ Pandas DataFrame.to_excel
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx") as writer:
dataframe.to_excel(writer, float_format="%.1f")
float_format ="%.1f "
は、浮動小数点数が 2つの浮動数字になるように指定します。
コード例:freeze_panes
パラメーターを持つ Pandas DataFrame.to_excel
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx") as writer:
dataframe.to_excel(writer, freeze_panes=(1, 1))
freeze_panes =(1,1)
は、Excel ファイルに固定された先頭行と固定された最初の列があることを指定します。