from docxtpl import DocxTemplate tpl = DocxTemplate('templates/dynamic_table_tpl.docx') context = { 'col_labels': ['fruit', 'vegetable', 'stone', 'thing'], 'tbl_contents': [ {'label': 'yellow', 'cols': ['banana', 'capsicum', 'pyrite', 'taxi']}, {'label': 'red', 'cols': ['apple', 'tomato', 'cinnabar', 'doubledecker']}, {'label': 'green', 'cols': ['guava', 'cucumber', 'aventurine', 'card']}, ], } tpl.render(context) tpl.save('output/dynamic_table.docx')