Python 操作 Excel,总有一个模块适合自己
2018-11-09 02:41:43来源:博客园 阅读 ()
最近在写性能相关的测试脚本,脚本已经完成,最终怎么体现在报告上,要想让报告看起来漂亮些,我们是先创建一个模板(格式和公式已全部制作好),只需要性能测试完成后往对应的sheet页中填充数据,数据完成后最终的性能测试报告也就大功告成。虽然可以将模板转化为xlxwriter的代码写死在生成脚本中,但是每次都要重新生成一个文件未免太过麻烦,而且一个格子一个格子地写入会让代码量飞速上涨。。无奈之下另寻他路,尝试着用了xlwings这个模块。
为什么我会选到这个xlwings模块,且还需细细听我讲来:
由于设计目的不同,每个模块通常着重于某一方面功能,各有所长。
xlwings
可结合 VBA 实现对 Excel 编程,强大的数据输入分析能力,同时拥有丰富的接口,结合 pandas/numpy/matplotlib 轻松应对 Excel 数据处理工作。同时可以对现有的表格进行修改,对表格的内容及格式无任何影响。
1 import xlwings as xw 2 workbook = xw.Book("../report/Performance_Test_Report.xlsx") 3 data_range = workbook.sheets('FPS_detail').range("A22") 4 data_range.value = [1,2,3] 5 workbook.save()
openpyxl
简单易用,功能广泛,单元格格式/图片/表格/公式/筛选/批注/文件保护等等功能应有尽有,图表功能是其一大亮点,缺点是对 VBA 支持的不够好。不支持对现有文件进行修改
1 import openpyxl 2 workbook = openpyxl.Workbook("../report/Performance_Test_Report.xlsx") 3 print (workbook.sheetnames) 4 workbook.create_sheet("test") 5 workbook.save("../report/Performance_Test_Report.xls")
pandas
数据处理是 pandas 的立身之本,Excel 作为 pandas 输入/输出数据的容器。
win32com
从命名上就可以看出,这是一个处理 windows 应用的扩展,Excel 只是该库能实现的一小部分功能。该库还支持 office 的众多操作。需要注意的是,该库不单独存在,可通过安装 pypiwin32 或者 pywin32 获取。
xlsxwriter
拥有丰富的特性,支持图片/表格/图表/筛选/格式/公式等,功能与openpyxl相似,优点是相比 openpyxl 还支持 VBA 文件导入,迷你图等功能,缺点是不能打开/修改已有文件,意味着使用 xlsxwriter 需要从零开始。
DataNitro
作为插件内嵌到 Excel 中,可完全替代 VBA,在 Excel 中使用 python 脚本。既然被称为 Excel 中的 python,协同其他 python 库亦是小事一桩。然而,这是付费插件...
xlutils
基于 xlrd/xlwt,老牌 python 包,算是该领域的先驱,功能特点中规中矩,比较大的缺点是仅支持 xls 文件。同时不支持对现有文件进行修改,只可以copy过来生成一个新表,但copy过来时原表格的格式、公式这些全部被破坏了。
1 from xlutils.copy import copy 2 workbook = xlrd.open_workbook("../report/Performance_Test_Report.xlsx") 3 workbooknew = copy(workbook) 4 ws = workbooknew.get_sheet(0) 5 ws.write(22,1,"changed") 6 workbooknew.save("../report/Performance_Test_Report1.xls")
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:模块(包、库)
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash