我需要复制表格的单元格与文本和图像到另一个文件中的另一个表。
# -*- 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")
这是表格的示例
这是错误类型错误:“tuple”对象不支持项赋值
2条答案
按热度按时间jyztefdp1#
不能简单地将对象从一个文档复制到另一个文档。
python-docx
API对象是代理对象,这意味着它们是实际构成段落、单元格等的XML的 Package 器。您需要从源文档中读取内容,然后在目标文档中创建所需的结构(如表格、单元格、段落),将内容放置在它应该放置的位置。
如果你深入到
lxml
层,你也许可以做一些更花哨的事情,也许可以复制文本及其所有格式(上标等),但这需要深入研究内部并理解底层XML结构。如果你搜索“python-docx workaround function”,你应该会找到一些例子来帮助你开始。pb3skfrl2#
对于任何人谁访问这个问题,而谷歌,这实际上是可行的。
首先,一个文档中的任何内容都可以插入到另一个文档中,并保留GitHub注解中描述的基本样式。
最后两行在上面提到的评论中被称为列表的“肮脏黑客”。认为它不太好用。要使它与列表一起工作,你必须挖掘得更深一点。
If
子句是可以的,但要改变风格,我们将在另一个线程中引用此评论。其中的代码片段:
贷记到berezovskyi和panoptical。
现在,根据上述研究中的信息,问题中的代码应该如下所示:
由于原始问题没有列表,因此不包括
if
子句。