我的程序从 docx 获取所有合并字段,查找一些特定的单词并替换它们。但我需要合并字段与插入到文档中的顺序相同。如果我有这个内容的话:<< Market.Name >> 有 << Market.Employees >> 并在 << Market.ClosingHour >> 关闭,而 << Hotel.Name >> 有 << Hotel.Employees >> 并在 << Hotel.ClosingHour 关闭>>。<< PetShop.Name >> 所有者是 << PetShop.Owner >> 。当我使用 doc 中的 get_merge_fields() 时,它为我提供了所有字段,但我希望它们按以下顺序排列:{'Market.Name'、'Market.Employees'、'Market.ClosingHour'、'Hotel.Name'、'Hotel.Employees'、'Hotel.ClosingHour'、'PetShop.Name'、'PetShop.Owner'}我需要它来创建名称、员工、ClosingHour 等具有相同顺序的表单。
1 回答
HUH函数
TA贡献1836条经验 获得超4个赞
我已经解决了这个问题。get_merge_fields() 方法返回一个集合,它是一个无序的数据结构,所以我改变了 get_merge_fields() 方法,如下所示:
def get_merge_fields(self, parts=None):
if not parts:
parts = self.parts.values()
fields = []
for part in parts:
for mf in part.findall('.//MergeField'):
fields.append(mf.attrib['name'])
return fields
添加回答
举报
0/150
提交
取消