【python-docx 02】对文档操作

使用python-docx不仅可以编写文档,还可以对现有文档进行编辑操作。
让我们逐步完成一个示例创建文档的步骤,从您可以对文档执行的两个主要操作开始,打开和保存。

打开一个文档

最简单的就是打开一个文档,但是不指定文件路径:

from docx import Document

document = Document()
document.save('test.docx')

这就相当于新建一个word文档,命名为test.docx

打开现有文档

如果你希望打开一个本地的文件,可以按照如下操作:

document = Document('c:/test.docx')
document.save('new_test.docx')

注意:

  • 可以通过这种方式打开任何Word 2007或更高版本的文件(Word 2003及更早版本中的.doc文件将不起作用)。虽然可能无法操作所有内容,但已经存在的任何内容都会加载并保存得很好。功能集仍在构建中,因此无法添加或更改标题或脚注等内容,但如果文档中包含它们,python-docx还是会原封不动的保存。
  • 如果使用相同的文件名打开并保存文件,python-docx将覆盖原始文件而不会提示。

打开“类似文件”的文档

python-docx可以从所谓的类文件对象中打开文档。还可以再保存到类似文件的对象。实际上,这代表可以对StringIO / BytesIO流对象进行打开或保存文档的操作,如下所示:

f = open('test.docx', 'rb')
document = Document(f)
f.close()

# 或者如下写法

with open('foobar.docx', 'rb') as f:
    source_stream = StringIO(f.read())
document = Document(source_stream)
source_stream.close()
...
target_stream = StringIO()
document.save(target_stream)  # 再度保存入内存
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章