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 :str或 ExcelWriterobject
文件路径或现有ExcelWriter。
sheet_name :str, 默认为 ‘Sheet1’
包含DataFrame的工作表的名称。
na_rep:str,默认为‘’
缺失的数据表示。
float_format :str,可选
浮点数的格式字符串。
例如,float_format="%.2f"将格式化0.1234到0.12。
columns :sequence 或str的list,可选的
要写的列。
header :bool或str的list, 默认为True
写出列名。如果给定了字符串列表,
则假定它是列名的别名。
index :bool, 默认为 True
写行名(索引)。
index_label :str 或 sequence, 可选的
索引列的列标签(如果需要)。如果未指定,
并且 标头和索引为True,则使用索引名称。
如果DataFrame使用MultiIndex,则应给出一个sequence。
startrow :int, 默认为 0
左上角的单元格行转储data frame。
startcol :str,默认值为0
左上角的单元格列以转储data frame。
engine :str, 可选
编写要使用的engine,‘openpyxl’或‘xlsxwriter’。
您也可以通过选项设置此io.excel.xlsx.writer,
io.excel.xls.writer和 io.excel.xlsm.writer。
merge_cells :bool,默认为True
将MultiIndex和Hierarchical Rows合并为单元格。
encoding :str, 可选
生成的excel文件的编码。只有在xlwt中是必需的,
其他编写器本身就支持unicode。
inf_rep :str, 默认为 ‘inf’
表示无穷大(Excel中没有本机表示无穷大)。
verbose :bool, 默认为 True
在错误日志中显示更多信息。
freeze_panes :int(长度2)的元组,可选
指定要冻结的最底部的行和最右边的列。
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')