pandas.DataFrame.to_excel#

DataFrame.to_excel(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, inf_rep='inf', freeze_panes=None, storage_options=None, engine_kwargs=None)[源代码]#

将对象写入 Excel 工作表。

要将单个对象写入 Excel .xlsx 文件,只需指定目标文件名即可。若要写入多个工作表,则需要创建一个带有目标文件名的 ExcelWriter 对象,并指定文件中的一个工作表进行写入。

可以通过指定唯一的 sheet_name 来写入多个工作表。在写入所有数据到文件后,必须保存更改。请注意,使用已存在的文件名创建 ExcelWriter 对象将导致现有文件内容被擦除。

Parameters:
excel_writerpath-like, file-like, or ExcelWriter object

文件路径或现有的 ExcelWriter 对象。

sheet_namestr, default ‘Sheet1’

将包含 DataFrame 的工作表的名称。

na_repstr, default ‘’

缺失数据表示。

float_formatbool, default False

浮点数格式字符串。例如 float_format="%.2f" 会将 0.1234 格式化为 0.12。

columnssequence or list of str, optional

要写入的列。

headerbool or list of str, default True

写入列名。如果给定字符串列表,则假定它们是列名的别名。

indexbool, default True

写入行名(索引)。

index_labelstr 或序列,可选

如果需要,为索引列指定索引列的标签。如果未指定,并且 headerindex 为 True,则使用索引名称。如果 DataFrame 使用 MultiIndex,则应给出序列。

startrowint,默认为 0

要转储 DataFrame 的左上角单元格行。

startcolint,默认为 0

要转储 DataFrame 的左上角单元格列。

enginebool, default False

要使用的写入引擎,’openpyxl’ 或 ‘xlsxwriter’。您也可以通过选项 io.excel.xlsx.writerio.excel.xlsm.writer 进行设置。

merge_cellsbool, default True

将 MultiIndex 和分层行写入为合并单元格。

inf_repstr, default ‘inf’

无穷大的表示(Excel 中没有原生的无穷大表示)。

freeze_panestuple of int (length 2), optional

指定将被冻结的基于一的最后一行和最后一列。

storage_optionsdict, 可选

适用于特定存储连接的额外选项,例如主机、端口、用户名、密码等。对于 HTTP(S) URL,键值对将作为标头选项转发给 urllib.request.Request。对于其他 URL(例如,以 “s3://”, 和 “gcs://” 开头的 URL),键值对将转发给 fsspec.open。更多详情请参阅 fsspecurllib,有关存储选项的更多示例,请参阅 here

在 1.2.0 版本加入.

engine_kwargsdict, 可选

传递给 Excel 引擎的任意关键字参数。

参见

to_csv

将 DataFrame 写入逗号分隔值 (csv) 文件。

ExcelWriter

将 DataFrame 对象写入 Excel 工作表的类。

read_excel

将 Excel 文件读入 pandas DataFrame。

read_csv

将逗号分隔值 (csv) 文件读取到 DataFrame 中。

io.formats.style.Styler.to_excel

向 Excel 工作表添加样式。

Notes

为了与 to_csv() 兼容,to_excel 在写入前将列表和字典序列化为字符串。

一旦工作簿被保存,就不可能在不重写整个工作簿的情况下进一步写入数据。

Examples

创建、写入和保存工作簿:

>>> df1 = pd.DataFrame([['a', 'b'], ['c', 'd']],
...                    index=['row 1', 'row 2'],
...                    columns=['col 1', 'col 2'])
>>> df1.to_excel("output.xlsx")  

要指定工作表名称:

>>> df1.to_excel("output.xlsx",
...              sheet_name='Sheet_name_1')  

如果您希望向工作簿中的多个工作表写入数据,则必须指定一个 ExcelWriter 对象:

>>> df2 = df1.copy()
>>> with pd.ExcelWriter('output.xlsx') as writer:  
...     df1.to_excel(writer, sheet_name='Sheet_name_1')
...     df2.to_excel(writer, sheet_name='Sheet_name_2')

ExcelWriter 也可以用于追加到现有的 Excel 文件:

>>> with pd.ExcelWriter('output.xlsx',
...                     mode='a') as writer:  
...     df1.to_excel(writer, sheet_name='Sheet_name_3')

要设置用于写入 Excel 文件的库,您可以传递 engine 关键字(默认引擎会根据文件扩展名自动选择):

>>> df1.to_excel('output1.xlsx', engine='xlsxwriter')