Python pandas使用ExcelWriter()类将数据导出至多个excel页签

在pandas中我们通常使用to_excel()方法将dataframe导出至Excel文件上,如果需要将多个不同的dataframe导出到同一个Excel文件的不同Sheet页,可以使用pandas.ExcelWriter()类来实现。

语法:

ExcelWriter(path, engine=None, date_format=None, datetime_format=None,mode=‘w’)

  1. path:xls或xlsx文件的路径;
  2. engine:可选参数,默认值为"xlwt",对于xls文件该参数值为"xlwt"有效,对于xlsx文件该参数值为"openpyxl"有效;
  3. date_format:格式字符串,用于写入Excel文件的日期(例如“ YYYY-MM-DD”);
  4. datetime_format:写入Excel文件的日期时间对象的格式字符串。 (例如“ YYYY-MM-DD HH:MM:SS”)
  5. mode:可选参数,{‘w’, ‘a’}, 默认为 ‘w’,即擦除目标文件原内容,将dataframe覆盖式导出至目标Excel文件。当为’a’时,将dataframe追加导入至目标Excel文件,目标文件中原内容保留。此处需注意,如果为’a’,且导出的为xlsx文件,需将该参数修改为"openpyxl"

实例:

import pandas as pd
import numpy as np
test=pd.DataFrame(np.arange(0,100).reshape([25,4]))
test1=pd.DataFrame(np.arange(100,200).reshape([25,4]))
writer = pd.ExcelWriter(r"C:\Users\user_name\Desktop\test.xlsx",engine="openpyxl",mode="a")#追加式导出,不覆目标文件盖原有内容
test.to_excel(writer,"test",index=False)#将test导出至名为test的Sheet页上
test1.to_excel(writer,"test1",index=False)#将test1导出至名为test1的Sheet页上
writer.save()

最终导出的结果如下所示:
在这里插入图片描述

需要注意的是:
如果导出的数据中含有大量的URL,EXCEL单张表格中对URL是存在数量限制的,如果超过这个限制,将无法将超出范围的URL数据导出至EXCEL(该过程不会报错)。通过增加options参数将URL转化为字符,这样可以避免该情况。

writer = pd.ExcelWriter(file_path+r"\option_excel.xlsx",options={'strings_to_urls': False})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值