为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法从python中的word中获取合并字段?我正在使用 get_merge_fields()

有没有办法从python中的word中获取合并字段?我正在使用 get_merge_fields()

子衿沉夜 2022-06-07 18:06:45
我的程序从 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


查看完整回答
反对 回复 2022-06-07
  • 1 回答
  • 0 关注
  • 133 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信