kettle使用数据库来生成序列_Python办公自动化:使用python来自动生成word文档
讓python做辦公自動化,讓你閑下來
讓python做自動化,讓你閑下來
上節對python的excel Python辦公自動化系列:自動操作Excel自動化做了介紹。這次介紹如何用python對word進行自動生成。
安裝模塊
pip install docx使用文檔
python-docx允許您創建新文檔以及更改現有文檔。實際上,它只允許您更改現有文檔; 只是如果你從一個沒有任何內容的文檔開始,它最初可能會覺得你是從頭開始創建一個。
這個特征是一個強大的特征。文檔的很多外觀取決于刪除所有內容時剩下的部分。樣式和頁眉和頁腳等內容與主要內容分開包含,允許您在起始文檔中進行大量自定義,然后出現在您生成的文檔中。
讓我們逐步完成一個示例創建文檔的步驟,從您可以對文檔執行的兩個主要事項開始,打開并保存它。
打開文件
最簡單的入門方法是打開一個新文檔而不指定要打開的文件:
from docx import Documentdocument = Document()document.save('test.docx')這將從內置的默認模板創建一個新文檔,并將其保存為名為“test.docx”的文件。所謂的“默認模板”實際上只是一個沒有內容的Word文件,與已安裝的python-docx 軟件包一起存儲。它與您 在選擇Word的文件>從模板新建...菜單項后選擇Word 文檔模板大致相同。
真的打開文件
模板創建一個新文檔
如果想要對最終文檔進行更多控制,或者如果要更改現有文檔,則需要使用文件名打開一個文檔:
document = Document('existing-document-file.docx')document.save('new-file-name.docx')注意事項:
- 您可以通過這種方式打開任何Word 2007或更高版本的文件(Word 2003及更早版本中的.doc文件將不起作用)。雖然您可能無法操作所有內容,但已經存在的任何內容都會加載并保存得很好。功能集仍在構建中,因此您無法添加或更改標題或腳注之類的內容,但如果文檔中包含它們,python-docx則可以讓它們保持單獨且足夠智能以保存它們而無需實際了解它們是什么。
- 如果您使用相同的文件名打開并保存文件,python-docx將乖乖地覆蓋原始文件而不會窺視。你要確保這是你想要的。
打開'文件'文檔
python-docx可以從所謂的類似文件的對象中打開文檔。它還可以保存到類似文件的對象。當您希望通過網絡連接或數據庫獲取源文檔或目標文檔并且不希望(或不允許)與文件系統交互時,這可能很方便。實際上,這意味著您可以傳遞打開的文件或StringIO / BytesIO流對象來打開或保存文檔,如下所示:
f = open('foobar.docx', 'rb')document = Document(f)f.close()# orwith 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)該'rb'文件打開方式參數不是必需的所有操作系統上。默認情況下'r'有時足夠,但Windows上至少需要某些版本的Linux才能使用'b'(選擇二進制模式),以允許Zipfile打開文件。
好的,祝賀您成功打開了一個文件,并且將它保存下來。下一步將會對如何自動操作生成word里的內容.
總結
以上是生活随笔為你收集整理的kettle使用数据库来生成序列_Python办公自动化:使用python来自动生成word文档的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: react取消捕获_React 面试指南
- 下一篇: 分区助手扩大c盘后自动修复_C盘空间不够