python-docx 慢

theeagle19881018 2017-12-26 09:53:10
做报表(word),想跨平台用python做,选用python-docx,但是python-docx插入1000行居然要10分钟!!!崩溃了,有什么解决办法么,或者别的什么方法做报表,谢谢。

下面是我测试的代码:

from docx import Document
import os
from docx.shared import Inches
import time


def row_assign(table, row_idx, val=()):
cell_num = len(table.row_cells(row_idx))
for i in range(cell_num):
table.cell(row_idx, i).text = val[i]

document = Document('./Template_1.docx')
table = document.tables[0]
p = document.add_paragraph()

start = time.time()
lst = ['test','test','test','test','test','test']
for i in range(300):
# p.add_run('12121212')
# document.add_picture('E:/temp/temp/123.jpg', width=Inches(5.25))
table.add_row()
for i in range(300):
# row_assign(table, i+6,lst)
for j in range(6):
table.cell(i+6,j).text = lst[j]
# # document.save('./123.docx')


end = time.time()

print('耗时:%s毫秒' % int(1000*(end-start)))# 13秒
...全文
325 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
阔别时光 2019-08-19
  • 打赏
  • 举报
回复
https://www.cnblogs.com/lifei01/p/11376462.html
这篇博客又解决方法

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧