2024-03-29 12:53:28 发布
网友
我试图在docx文件上执行查找和替换,同时仍然保持格式。在
仔细阅读,最好的方法似乎是对文档的xml文件执行查找/替换。在
我可以加载xml文件并在其上查找/替换,但不确定如何将其写回。在
文件编号:
Hello {text}!
Python:
您正在尝试的是危险的,因为您正在较低级别处理一个高级别的docx文件。如果你真的想这么做,只需使用@shahvishal建议的overwriting file in ziparchive的提示。在
但除非您完全了解docx格式的所有细节,否则我的建议是:不要这样做。假设在一个内部字段或属性中有字符串{text}。您很可能会以意外的方式更改文件,从而立即或更糟地导致文件被销毁(Word无法再处理它)。在
{text}
如果您在安装了word的Windows计算机上进行处理,您当然可以尝试使用automation来处理microsoftword文件。不幸的是,我只是很久以前才这么做的,不能提供有用的链接。您需要:
您真的希望使用一个库来读/写docx文件,而不是试图将它们作为原始XML处理。粗略地搜索了一下pypi模块docx,但我没有使用过这个模块,所以我不能认可它: https://pypi.python.org/pypi/docx/0.2.4
docx
我有过(不幸的)处理来自其他编程语言的msoffice文档的操作经验,并且花时间寻找好的库真的有回报。在
有句老话说“不要重新发明轮子”,我认为在处理非琐碎的文件格式时,这是绝对正确的。如果有一个比较成熟的库来完成这项工作,请使用它!在
您需要替换zip归档文件中的文件。实现这一目标没有“简单”的方法。以下是一个应该有帮助的问题:
overwriting file in ziparchive
您正在尝试的是危险的,因为您正在较低级别处理一个高级别的docx文件。如果你真的想这么做,只需使用@shahvishal建议的overwriting file in ziparchive的提示。在
但除非您完全了解docx格式的所有细节,否则我的建议是:不要这样做。假设在一个内部字段或属性中有字符串
{text}
。您很可能会以意外的方式更改文件,从而立即或更糟地导致文件被销毁(Word无法再处理它)。在如果您在安装了word的Windows计算机上进行处理,您当然可以尝试使用automation来处理microsoftword文件。不幸的是,我只是很久以前才这么做的,不能提供有用的链接。您需要:
您真的希望使用一个库来读/写docx文件,而不是试图将它们作为原始XML处理。粗略地搜索了一下pypi模块
docx
,但我没有使用过这个模块,所以我不能认可它: https://pypi.python.org/pypi/docx/0.2.4我有过(不幸的)处理来自其他编程语言的msoffice文档的操作经验,并且花时间寻找好的库真的有回报。在
有句老话说“不要重新发明轮子”,我认为在处理非琐碎的文件格式时,这是绝对正确的。如果有一个比较成熟的库来完成这项工作,请使用它!在
您需要替换zip归档文件中的文件。实现这一目标没有“简单”的方法。以下是一个应该有帮助的问题:
overwriting file in ziparchive
相关问题 更多 >
编程相关推荐