最近在写性能相关的测试脚本,脚本已经完成,最终怎么体现在报告上,要想让报告看起来漂亮些,我们是先创建一个模板(格式和公式已全部制作好),只需要性能测试完成后往对应的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")

转载于:https://www.cnblogs.com/TwCsLj/p/9929038.html

Python 操作 Excel,总有一个模块适合自己相关推荐

  1. python利用表格中的某一个列_python取excel表格第一列数据?python操作excel,使用xlrd模块,获取某一列数据的语句为...

    用Python修改excel中一列数据 可以使用pandas库,先读取excel文件,然后使用pandas库来修改一列,然后写入文件即可. 怎样用python,读取excel中的一列数据 sheet. ...

  2. python excel取列_python取excel表格第一列数据-python操作excel,使用xlrd模块,获取某一列数据的......

    怎样用python,读取excel中的一列数据 Python对Excel的读写主要有xlrd.copyxlwt.xlutils.openpyxl.xlsxwriter几种. 1.xlrd主要用来读百取 ...

  3. Python 操作 Excel,从 xlwings 模块开始

    本篇博客继续为大家带来 Python 操作 Excel 文件的相关知识点,核心涉及的模块为 xlwings . 首先依旧是模块安装环节 pip install xlwings 新建工作簿 import ...

  4. Python操作Excel最好选择什么模块?

    对比学习python,更高效~ Excel数据的类型及组织方式 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却 ...

  5. Python操作Excel表格的模块xlrd的简单介绍

    Python操作Excel表格的模块xlrd的简单介绍 处理数据对Python来说,比较容易,操作简单,功能强大,短短几行代码,就可处理大量的数据信息,下面介绍Python处理Excel表格的一个模块 ...

  6. python使用 pywin32 模块操作 excel,Python 操作 excel 系列之五

    本篇博客是 Python 操作 excel 系列的第5篇,前4篇博客阅读地址如下所示: 2022 之Python操作 Excel,xlrd 与 xlwt 模块一文掌握 Python 操作 Excel, ...

  7. python操作Excel设置打印标题时碰到的一个小问题

    最近在学习python操作Excel,在网上找到一段代码,将几个工作表合并成一个工作簿的多个工作表,实现以下效果: 首先,将要合并的工作表名存储在列表中,使用for循环写入Excel中 # 将要导入的 ...

  8. 2022 之Python操作 Excel,xlrd 与 xlwt 模块一文掌握

    Python 操作 Excel 本篇博客为你介绍一种 Python 操作 Excel 的办法,核心用到 xlrd与xlwt模块. xlrd 用于读 excel: xlwt 用于写 excel. 模块安 ...

  9. Python操作excel常用模块汇总

    #收集的python相关信息#可能是全网最完整的 Python 操作 Excel库总结! #https://zhuanlan.zhihu.com/p/353669230#:~:text=%E5%8F% ...

最新文章

  1. OpenCV norm 计算范数(18)
  2. 解决 Error:No suitable device found: no device found for connection quot;System eth0quot;
  3. 苹果2项最新专利曝光无人车路线:闭门造车、传感器先行,关注驾乘体验
  4. 【深度学习】谷歌大脑EfficientNet的工作原理解析
  5. 函数:使用递归实现阶乘
  6. JavaScriptDate对象
  7. 你了解SpringBoot启动时API相关信息是用什么数据结构存储的吗?(上篇)
  8. 网络库urillib3
  9. Opengl超级宝典笔记——空间绘图画点
  10. c++编码风格指南_100%正确编码样式指南
  11. oracle v$context,30.Oracle杂记——Oracle常用动态视图v$session
  12. 和菜鸟一起深入学习国嵌实验之vim常用命令
  13. UbuntuHadoop集群搭建过程
  14. 安卓pdf阅读器_想找可以安装APP的电子书阅读器?BOOX这几个型号可以选!
  15. S7Comm Plus 协议研究
  16. 今天你够“敏捷”吗?
  17. python 天勤 金叉 编程代码_GitHub - Oscar201106/tqsdk-python: 天勤量化开发包, 期货量化, 实时行情/历史数据/实盘交易...
  18. 使用WinDbg —— .NET篇 (一)
  19. 用网线连接电脑传输文件
  20. Linux环境变量profile

热门文章

  1. sql server2005 循环操作
  2. html grid布局,css grid布局使用
  3. struts2+Hibernate实现用户登陆功能
  4. 用 Java 对 hbase 进行CRUD增删改查操作
  5. 对ListView滚动状态的监听
  6. 后台开发经典书籍--mysql从入门到精通
  7. select,poll,epoll区别面试常问
  8. mybatis-generator-gu(mybatis generator 的图形界面工具)
  9. 纯 CSS 实现三角形尖角箭头的实例
  10. Python3使用tkinter编写GUI程序