python-docx 添加表格时很慢的解决方法

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

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

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

python-docx 添加表格时很慢的解决方法

 

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

python-docx 添加表格时很慢的解决方法

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

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

python-docx 添加表格时很慢的解决方法

python-docx 添加表格时很慢的解决方法

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

 

上一篇:如何用Java编辑docx字段内容?


下一篇:用smtplib来发送邮件