Python pandas.DataFrame.to_excel函数方法的使用

Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中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, encoding=None, inf_rep='inf', verbose=True, freeze_panes=None) [source]

将对象写入Excel表格。

要将单个对象写入Excel .xlsx文件,只需要指定目标文件名。要写入多个工作表,必须创建一个ExcelWriter对象,并使用目标文件名,并在文件中指定要写入的工作表。

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

参数:

excel_writer :str ExcelWriter object

文件路径或现有ExcelWriter。

sheet_name :str, 默认为 ‘Sheet1’

包含DataFrame的工作表的名称。

na_rep str,默认为‘’

缺失的数据表示。

float_format :str,可选

浮点数的格式字符串。

例如,float_format="%.2f"将格式化0.12340.12

columns :sequencestrlist,可选的

要写的列。

header :bool 或str的list, 默认为True

写出列名。如果给定了字符串列表,

则假定它是列名的别名。

index :bool, 默认为 True

写行名(索引)。

index_label :strsequence, 可选的

索引列的列标签(如果需要)。如果未指定,

并且 标头和索引为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')  
推荐阅读
cjavapy编程之路首页