用Python读/写MS Word文件

Unk*_*ech 19 python ms-word read-write

是否可以在不使用COM对象的情况下读取和编写Python中的Word(2003和2007)文件?
我知道我可以:

f = open('c:\file.doc', "w")
f.write(text)
f.close()
Run Code Online (Sandbox Code Playgroud)

但Word会将其读作HTML文件而不是本机.doc文件.

Dam*_*ian 39

请参阅python-docx,其官方文档可在此处获得.

这对我来说非常有效.

  • @Damian但问题还在于.doc文件,所以你应该注意你的答案只适用于.docx文件. (4认同)
  • 但它支持.doc格式,我试过,但它抛出一个ValueError`ValueError:file'<open file'file.doc',模式'r'在0x7f29a1b5a6f0>'不是Word文件,内容类型是'application/vnd.openxmlformats-officedocument.themeManager + xml` (2认同)

mar*_*ing 11

如果您只阅读什么,最简单的方法是使用linux soffice命令将其转换为文本,然后将文本加载到python中:

  • +1我不知道为什么这会得到负面投票.这有时是唯一的解决方案,有时甚至足够. (2认同)

aur*_*amo 7

我将研究IronPython,它本质上可以访问Windows/office API,因为它运行在.NET运行时.