如果找不到使用python并写入文件,我怎么能创建一个单词(.docx)文件?注意:
我需要通过python创建一个自动报告,包括文本和饼图,图表等。
打开新文件进行写入的最安全的方法可能是使用'xb'模式。如果文件已经存在,'x'则会引发一个FileExistsError。'b'是必要的,因为word文档基本上是一个二进制文件:它是一个包含XML和其他文件的zip存档。如果通过字符编码转换字节,则无法压缩和解压缩zip文件。
Document.save 接受流,因此您可以传入一个像这样打开的文件对象来保存文档。
你的工作流程可能是这样的:
doc = docx.Document(...)
...
...
with open('outfile.docx', 'xb') as f:
doc.save(f)
使用with块而不是raw 是一个好主意,open以确保即使出现错误也能正确关闭文件。
与您不能直接写入Word文件的方式相同,您也无法附加到它。“追加”的方法是打开文件,加载Document对象,然后将其写回,覆盖原始内容。由于word文件是一个zip存档,因此附加文本很可能甚至不在它所在的XML文件的末尾,更不用说整个docx文件了:
doc = docx.Document('file_to_append.docx')
...
...
doc.save('file_to_append.docx')
请记住,python-docx库可能不支持加载某些元素,当您以这种方式使用同一文件时,这些元素可能最终被永久丢弃。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。