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, encoding=None, inf_rep='inf', verbose=True, freeze_panes=None) [source]
将对象写入Excel表格。
要将单个对象写入Excel .xlsx
文件,只需要指定目标文件名。要写入多个工作表,必须创建一个ExcelWriter
对象,并使用目标文件名,并在文件中指定要写入的工作表。
可以通过指定唯一的sheet_name写入多个工作表。随着所有数据写入文件,有必要保存更改。请注意,使用已经存在的文件名创建ExcelWriter
对象将导致删除现有文件的内容。
参数: | excel_writer : 文件路径或现有ExcelWriter。 sheet_name : 包含 na_rep : 缺失的数据表示。 float_format : 浮点数的格式字符串。 例如, columns : 要写的列。 header : 写出列名。如果给定了字符串列表, 则假定它是列名的别名。 index : 写行名(索引)。 index_label : 索引列的列标签(如果需要)。如果未指定, 并且 标头和索引为 如果 startrow : 左上角的单元格行转储data frame。 startcol : 左上角的单元格列以转储data frame。 engine : 编写要使用的engine, 您也可以通过选项设置此i
merge_cells : 将MultiIndex和Hierarchical Rows合并为单元格。 encoding : 生成的excel文件的编码。只有在xlwt中是必需的, 其他编写器本身就支持unicode。 inf_rep : 表示无穷大(Excel中没有本机表示无穷大)。 verbose : 在错误日志中显示更多信息。 freeze_panes : 指定要冻结的最底部的行和最右边的列。 |
Notes
为了与兼容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: ... df.to_excel(writer, sheet_name='Sheet_name_3')
要设置用于写入Excel文件的库,您可以传递engine关键字(根据文件扩展名自动选择默认引擎):
>>> df1.to_excel('output1.xlsx', engine='xlsxwriter')