一种将 Pandas 数据帧数据写入现有 .docx 文档表的快速方法

时间:2021-02-01 15:17:36

标签: python pandas ms-word docx python-docx

我需要将数据框数据写入 Word 文档中的现有表。文档中的表已经有两行,我需要在这两行之后添加 df 行。使用 python-docx 库。

document = Document(docx=document_name)
table = document.tables[0]
for i in range(orders.shape[0]):
    table.add_row()
for i in range(orders.shape[0]):
    for j in range(orders.shape[1]):
        table.cell(i + 2, j).text = str(orders.values[i,j]) 
document.save('xxx.docx')

此脚本运行良好,但耗时很长:写入 1 行需要 10 秒。如果数据框有 5000 行,那就是一个问题。有人知道更快的方法吗?

1 个答案:

答案 0 :(得分:1)

首先避免重复的行和列查找,如下所示:

values = orders.values
for i in range(orders.shape[0]):
    row = table.add_row()
    for j, cell in enumerate(row.cells):
        cell.text = str(values[i, j]) 

看看你得到了多少改进。

相关问题