我有一个工作代码,它使用for循环构建一个包含几个表的文档。为了保持代码干净,我想将表的创建分解为它自己的函数,但无法从API文档中看到如何做到这一点。
本质上,我想调用一个函数来创建&返回一个Table()对象,然后将其添加到文档中。
这可行吗?
# this works fine
from docx import Document, document, table
document = Document()
table1 = document.add_table(rows=1, cols=4)
# more table1 building code here
table2 = document.add_table(rows=1, cols=4)
# more table2 building code here
document.save('foo.docx')
但是像下面这样的重构不会生成-我得到TypeError:表.init()获得意外的关键字参数“rows”
from docx import Document, document, table
document = Document()
document.add_table(build_mytable(somedata))
document.add_table(build_mytable(someotherdata))
def build_mytable(mydata):
table = docx.table.Table(rows=1, cols=4)
# more table building code here
return table
1条答案
按热度按时间yc0p9oo01#
也许你可以试试这个
然后可以使用add_paragraph方法添加更多文本或其他元素;或add_table方法添加更多表
欲了解更多信息,请访问;访视https://python-docx.readthedocs.io/en/latest/