pandas.DataFrame.to_excel #

数据框。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对象将导致现有文件的内容被删除。

参数
excel_writer类路径、类文件或 ExcelWriter 对象

文件路径或现有的 ExcelWriter。

sheet_name str,默认 'Sheet1'

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

na_rep str,默认 ''

缺少数据表示。

float_format str,可选

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

序列或 str 列表,可选

要写的专栏。

header bool 或 str 列表,默认 True

写出列名称。如果给出了字符串列表,则假定它是列名的别名。

索引bool,默认 True

写入行名称(索引)。

index_label str 或序列,可选

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

startrow int,默认0

用于转储数据帧的左上单元格行。

startcol int,默认0

用于转储数据帧的左上角单元格列。

发动机str,可选

使用“openpyxl”或“xlsxwriter”编写引擎。您还可以通过选项io.excel.xlsx.writer或 进行设置io.excel.xlsm.writer

merge_cells bool, 默认 True

将多索引和分层行写入合并单元格。

inf_rep str,默认'inf'

无穷大的表示(Excel 中没有无穷大的本机表示)。

freeze_panes int 元组(长度 2),可选

指定要冻结的从一开始的最底行和最右边的列。

storage_options字典,可选

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

1.2.0 版本中的新增功能。

engine_kwargs字典,可选

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

也可以看看

to_csv

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

ExcelWriter

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

read_excel

将 Excel 文件读入 pandas DataFrame。

read_csv

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

io.formats.style.Styler.to_excel

将样式添加到 Excel 工作表。

笔记

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

保存工作簿后,如果不重写整个工作簿,则无法写入更多数据。

例子

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

>>> 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')