Python数据分析:pandas玩转Excel(三)

将对象写入Excel工作表。

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

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

1 df.to_excel( )的参数

写入Excel文件

df.to_excel(self,
         excel_writer,             # 输出路径
		 sheet_name='Sheet1',	   # 命名excel工作表名 
         na_rep='',                # 缺失值填充 ,可以设置为字符串
         float_format=None,
         columns=None, # 选择输出的列存入。
         header=True,  # 指定作为列名的行,默认0,即取第一行
         index=True,   # 默认为True,显示index,当index=False 则不显示行索引(名字)
         index_label=None,  # 设置索引列的列名
         startrow=0, 
         startcol=0, 
         engine=None,
         merge_cells=True,
         encoding=None, 
         inf_rep='inf', 
         verbose=True,
         freeze_panes=None)
参数 含义
excel_writer ExcelWriter目标路径
sheet_name 命名excel工作表名
na_rep 缺失值填充 ,可以设置为字符串; 如果na_rep设置为bool值,则写入excel时改为0和1;也可以写入字符串或数字
columns 选择输出的的列存入。
header 指定作为列名的行,默认0,即取第一行,数据为列名行以下的数据;若数据不含列名,则设定 header = None;
index 默认为True,显示index,当index=False 则不显示行索引(名字)
index_label 设置索引列的列名

2 Parameters参数

1.excel_writer:str or ExcelWriter object

文件路径或现有的ExcelWriter。

2.sheet_name:str, default ‘Sheet1’

包含DataFrame的工作表名称。

3.na_rep:str, default ‘’

  • 缺少数据表示。
  • 如果na_rep设置为bool值,则写入excel时改为0和1;也可以写入字符串或数字

4.float_format:str, optional

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

5.columns:sequence or list of str, optional

要写入的列。

6.header:bool or list of str, default True

写出列名称。如果给定字符串列表,则假定该字符串为列名称的别名。

7.index:bool, default True

写入行名(索引)。

8.index_label:str or sequence, optional

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

9.startrow:int, default 0

左上角的单元格行来转储数据帧。

10.startcol:int, default 0

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

11.engine:str, optional

编写要使用的引擎,“ openpyxl”或“ xlsxwriter”。您也可以通过选项设置此io.excel.xlsx.writerio.excel.xls.writerio.excel.xlsm.writer

12.merge_cells:bool, default True

将MultiIndex和Hierarchical Rows写入合并的单元格

13.encoding:str, optional

生成的excel文件的编码。只有xlwt才需要,其他作者本机支持unicode。

14.inf_rep:str, default ‘inf’

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

15.verbose:bool, default True

在错误日志中显示更多信息。

16.freeze_panes:tuple of int (length 2), optional

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

笔记

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

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

3 例子

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

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

欢迎关注公众号【喵哥解说】,有1000G关于Python资料等你领取,感谢阅读。

posted @ 2020-05-16 07:29  喵哥解说  阅读(923)  评论(0编辑  收藏  举报