使用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) # 再度保存入內存