我们做监控系统的时候常需要给客户发送邮箱报告,附带一个word的文档,文档中插入表格给用户更直观的数据。

我用的时python-docx库操作文档,最近碰到,当往文档中插入表格时,随着表格行数的增多,生成表格的速度越来越慢,在网上搜索好久都没有找到相应的解决方法,今天我分享我解决的方法。

在网上生成表格比较多的方式时如下代码:

这种方式是我们先生成一个1行7列的表格,然后后续一行一行的在表格中添加数据,这样就会导致我们每加入一次数据,就会重新重载一次表格,随着数据越多,重载表格的时间就越久,这样的们生成文档的时间可以想象会要多久,严重影响我们的效率,我们运行看一下耗时多久:

总共花费了232秒的时间,这只是1000行的数据和比较简单的文本。

改进以后我们用如下代码操作,我们先一次性生成一个1000行7列的表格,然后根据索引值,一次往表格中填数据,这样就不用每次插入数据时就重载表格了,我们看一下他的耗时时间:

总共花费2.46秒,差不多时以前十分之一的时间。希望我的分享对你们有帮助。

最新文章

  1. 使用ubuntu作为web开发环境的一些感受
  2. 【JAVA集合框架之List与Set】
  3. 方法过滤器,分布式缓存 Memcached实现Session解决方案
  4. redis unwatch discard
  5. eclipse的快捷键大全
  6. Grunt 插件使用汇总
  7. 这 30 类 CSS 选择器,你必须理解!
  8. Ubuntu版本介绍
  9. 『重构--改善既有代码的设计』读书笔记----Introduce Foreign Method
  10. sharepoint 2013 文档库 资源管理器打开报错 在文件资源管理器中打开此位置时遇到问题,将此网站添加到受信任站点列表,然后重试。
  11. java设计模式之——策略模式
  12. meta常用标签总结
  13. IOS WebViewJavascriptBridge 使用以及原理分析
  14. 微信小程序wx.previewImage实用案例(交流QQ群:604788754)
  15. docker 下安装gitlab
  16. wxPython制作跑monkey工具(python3)
  17. Jmeter软件介绍
  18. c/c++ 智能指针 weak_ptr 使用
  19. yum仓库搭建
  20. 【转】理解js中的原型链,prototype与__proto__的关系

热门文章

  1. Qt 打包release发布问题
  2. 初始化一个React项目
  3. 【bzoj2002】弹飞绵羊
  4. linux运维、架构之路-Kickstart无人值守
  5. java伪代码读后感
  6. Leetcode 9. Palindrome Number(水)
  7. JS FormData 文件异步提交
  8. UE4 Pro Tips(keeps updating)
  9. 8 Django 模型层(2)
  10. Anyhashable打印格式化