在pandas中我们通常使用
to_excel()
方法将dataframe导出至Excel文件上,如果需要将多个不同的dataframe导出到同一个Excel文件的不同Sheet页,可以使用
pandas.ExcelWriter()
类来实现。
ExcelWriter(path, engine=None, date_format=None, datetime_format=None,mode=‘w’)
-
path:xls或xlsx文件的路径;
-
engine:可选参数,默认值为"xlwt",对于xls文件该参数值为"xlwt"有效,对于xlsx文件该参数值为"openpyxl"有效;
-
date_format:格式字符串,用于写入Excel文件的日期(例如“ YYYY-MM-DD”);
-
datetime_format:写入Excel文件的日期时间对象的格式字符串。 (例如“ YYYY-MM-DD HH:MM:SS”)
-
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)
test1.to_excel(writer,"test1",index=False)
writer.save()
最终导出的结果如下所示:
需要注意的是:
如果导出的数据中含有大量的URL,EXCEL单张表格中对URL是存在数量限制的,如果超过这个限制,将无法将超出范围的URL数据导出至EXCEL(该过程不会报错)。通过增加options参数将URL转化为字符,这样可以避免该情况。
writer = pd.ExcelWriter(file_path+r"\option_excel.xlsx",options={'strings_to_urls': False})
在pandas中我们通常使用to_excel()方法将dataframe导出至Excel文件上,如果需要将多个不同的dataframe导出到同一个Excel文件的不同Sheet页,可以使用pandas.ExcelWriter()类来实现。语法:ExcelWriter(path, engine=None, date_format=None, datetime_format=None,mode=‘w’)path:xls或xlsx文件的路径;engine:可选参数,默认值为"xlwt",对于xls文
pandas中的ExcelFile()和ExcelWriter(),是pandas中对excel表格文件进行读写相关操作非常方便快捷的类,尤其是在对含有多个sheet的excel文件进行操控时非常方便,本文就将针对这两个类的使用方法展开介绍;
二、ExcelFile()
在使用ExcelFile()时需要传入目标excel文件所在路径及文件名称,下面是示例:
3、使用ExcelWriter 和openpyxl库进行excel操作
说明:1和2方法在进行保存前会情况excel的sheet页,及进行to_excel()时先清空表格的sheet页。2可以有多个sheet页
3会在原有excel的sheet页后添加sheet页,不清空原有sheet页。
下面用例子说明:
1、import pandas as pd
df = pd.Da
最近在研究项目,卡在了pandas输出到Execl这一部分.输出是很简单的,to_excel就行了,但是需要格式化的输出,就需要研究xlsxwriter这个模块了.下面是我这几天的研究成果,希望能帮助你快速识别这到底是不是你需要的模块
我们先设定变量df
>>> import pandas
>>> df = pandas.DataFrame(data={'标题1':[1,2],'标题2':[3,4]})
>>> df2 = pandas.DataFra
from datetime import datetime
df1 = pd.DataFrame({"日期": [datetime(2020,1,1), datetime(2020,1,2)],"销量":[10,20]})
df2 = pd.DataFrame({"日期": [datetime(2020,2,1), dat
```python
df1.to_excel(writer, sheet_name='Sheet1')
df2.to_excel(writer, sheet_name='Sheet2')
4. 保存ExcelWriter对象
```python
writer.save()
这样,就可以将多个DataFrame写入同一个Excel文件中的不同sheet中了。需要注意的是,sheet_name参数用于指定写入的sheet名称,需要保证名称的唯一性。同时,ExcelWriter对象需要通过save()方法保存才能生成Excel文件。