python - 使用 docxTemplate python 跨列

标签 python jinja2 docx

我在尝试使用 DocxTemplate 逐行填写表格时遇到问题。我只是对模板的外观感到困惑。

这是我的 python 代码:

from docxtpl import Docxtemplate

doc = DocxTemplate("Template.docx")
context = {}
table_info = [{start: "A", end: "C"}, {start: "B", end: "C"}, {start:"F", end:"L"}, {start:"B", end:"R"}]
context["table_info"] = table_info

doc.render(context)
doc.save("Finish.docx")

我希望最终结果在这样的表格中:

| start | end |
|  A    | C   |
|  B    | C   |
|  F    | L   |
|  B    | R   |

有人愿意向我展示如何实现这一目标吗?我看到了 dynamic_table_tpl例如,但我无法全神贯注于我正在尝试做的事情。提前致谢!

最佳答案

改编来自https://github.com/elapouya/python-docx-template/blob/master/tests/dynamic_table.py的代码测试根据您的需要:

from docxtpl import DocxTemplate

doc = DocxTemplate('Template.docx')

context = {
    'col_labels' : ['start', 'end'],
    'tbl_contents': [
        {'label': 'black', 'cols': ['A', 'C']},
        {'label': 'black', 'cols': ['B', 'C']},
        {'label': 'black', 'cols': ['F', 'L']},
        {'label': 'black', 'cols': ['B', 'R']},
        ]
}

doc.render(context)
doc.save('Finish.docx')

context 的构建使用了错误的键名。

关于python - 使用 docxTemplate python 跨列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56343861/

相关文章:

python - jinja2递归循环与字典

xml - 直接将单个 XML 文件转换为 DOCX

delphi - 如何在odt Open Office文档中搜索和替换?

python - 如何关闭 Python TCPServer 或 HTTPServer 或 SimpleHTTPServer?

python - 如何格式化列表以在 python 的单独行上打印每个元素?

python - Pandas :比较组内的行

templates - Jinja 注释掉命令会破坏模板

python - 如何循环遍历所有列表项并从每个键中提取值?

Python:使用字符串作为对象参数?

php - 如何使用 Php 执行 docx2txt shell 脚本?