python-docx复制单元格

时间:2017-04-28 00:09:50

标签: python python-docx

我需要将带有文本和图像的表格单元格复制到另一个文件中的另一个表格。

# -*- coding: utf-8 -*-
from docx import Document

oldDocument = Document("d:/first.docx")

newDocument = Document()
temp = oldDocument.tables[9].rows[1].cells[1]
table = newDocument .add_table(rows=1, cols=1)
table.rows[0].cells[0] = temp
newDocument .save("d:/second.docx")

这是表格的例子

Пример

而这个错误 TypeError:'tuple'对象不支持项目分配

1 个答案:

答案 0 :(得分:1)

您不能简单地将对象从一个文档复制到另一个文档。 python-docx API对象是代理对象,这意味着它们是实际构成段落,单元格等的XML的包装。

您需要阅读源文档中的内容,然后在目标文档中创建所需的结构(如表格,单元格,段落),并将内容放在应该去的位置。

如果你去lxml层,也许可以复制文本及其所有格式(上标等),你可以做一些有点发烧友的事情,但这需要深入了解内部和理解底层的XML结构。如果您搜索'python-docx workaround function',您应该找到一些示例来帮助您入门。