我有一个Word文档,我需要在Word的xml文件中插入多个标签。我使用zipfile.extractall()提取了所有xml文件,并使用lxml包成功地编辑了document.xml文件。现在,我想将所有编辑后的文件转换回Word文档。我尝试使用zipfile.write()但没有运气。如何将该文件夹转换为Word文档(docx)?
答案 0 :(得分:0)
我不相信Python内置的任何内容都可以让您创建Word文档(尽管您可以非常轻松地创建.txt文件),但是似乎有一个名为python-docx的库正在寻找。
答案 1 :(得分:0)
如果您的目标是将解压缩的docx文件夹转换为全新的docx文件,则只需要遍历该文件夹,即可像预期的那样将每个文档与其他zip文件一起添加。
从一个函数开始,如下所示:
def zipdocx(path, zipname):
for root, dirs, files in os.walk(path):
for file in files:
abspath = os.path.join(root, file)
relpath = abspath.replace(path+'\\', '')
zipname.write(abspath, relpath)
(绝对路径和相对路径是为了防止docx尝试存储包括新根文件夹在内的所有内容,这会破坏word文档。请注意,如果您不使用Windows,则路径语法可能需要不同) / p>
然后在提取并修改xml文件后,将以下内容添加到您的代码中:
zipname = zipfile.ZipFile('output.docx', 'w', zipfile.ZIP_DEFLATED)
zipdocx([your unzipped directory name and relative path], zipname)
zipname.close()