用python操作word文檔的方法

這篇文章將為大家詳細(xì)講解有關(guān)用python操作word文檔的方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、朝陽ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的朝陽網(wǎng)站制作公司

一、安裝Python-docx

Python-docx是專門針對于word文檔的一個(gè)模塊,只能讀取docx不能讀取doc文件。說白了,python就相當(dāng)于windows操作系統(tǒng)。

1.1、安裝Python-docx

1.1.1、使用虛擬環(huán)境安裝python-docx

pip install python-docx  # 安裝命令

安裝結(jié)束后,在此虛擬環(huán)境中運(yùn)行Jupyter notebook

jupyter notebook

1.1.2、切換工作目錄(使用 %cd命令)

%cd F:python_test1Python_office # 進(jìn)入目錄
%pwd # 查看當(dāng)前的工作目錄
>>>'F:\python_test1\Python_office' # 輸出結(jié)果

二、對word文檔進(jìn)行編輯

在對word文檔編輯之前需要導(dǎo)入Document模塊如下:

from docx import Document
Doc = Document() 
解釋:from從docx這個(gè)文件中,導(dǎo)入一個(gè)叫Document的一個(gè)東西,Document是文檔的意思,所以它是對word文檔進(jìn)行操作的一個(gè)玩意。
在下面Doc = Document()可以理解為 Document就是一個(gè)類,這個(gè)操作也就是實(shí)例化的過程,生成對象為:Doc

那Document實(shí)例化了一個(gè)Object叫Doc,那么Doc肯定會有很多的方法,這些方法就是對word文檔進(jìn)行操作的方法如下:

Doc.add_heading("Python是什么東西???")
<docx.text.paragraph.Paragraph at 0x28033582e48>
# Doc.add_heading 意思是添加一個(gè)叫做heading的一個(gè)東西在這里heading指的是標(biāo)題的意思,也就是添加一個(gè)標(biāo)題叫做python是什么
東西???運(yùn)行完成后它會生成一個(gè)對象。

2.1、添加一個(gè)段落(paragraph)

Doc.add_paragraph("Python是一種面向?qū)ο蟮木幊陶Z言~~~") # 在這里paragraph指的就是一個(gè)段落的意思
<docx.text.paragraph.Paragraph at 0x280335a17b8>

2.2、添加多個(gè)段落(paragraph)

Doc.add_paragraph("Python ")
Doc.add_paragraph("Python 對word進(jìn)行操作")

2.3、如何查看word文檔?

寫完之后我們想要查看文檔,首先需要保存,如下:

Doc.save("Python_word.docx")    # save:保存為名字叫Python_word.docx的文件

三、如何添加一級標(biāo)題,二級標(biāo)題,三級標(biāo)題…?

3.1、添加一級標(biāo)題

Doc = Document()
Doc.add_heading("這是一級標(biāo)題",level=1)
Doc.add_heading("這是二級標(biāo)題",level=2)
Doc.add_heading("這是三級標(biāo)題",level=3)
Doc.add_heading("這是四級標(biāo)題",level=4)
Doc.save("標(biāo)題.docx")

四、如何添加一個(gè)副級標(biāo)題?

Doc.add_heading("這是一個(gè)一級標(biāo)題",level=1)
Doc.add_paragraph("這是一個(gè)副標(biāo)題","Subtitle")
Doc.save("副標(biāo)題.docx")

五、查看已有的樣式

5.1、查看paragraph有哪些樣式

from docx.enum.style import WD_STYLE_TYPE
for i in Doc.styles:
 if i.type == WD_STYLE_TYPE.PARAGRAPH:
 print(i.name)
>>>
Normal
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Heading 7
Heading 8
Heading 9
No Spacing
Title
Subtitle
List Paragraph
Body Text
Body Text 2
Body Text 3
List
List 2
List 3
List Bullet
List Bullet 2
List Bullet 3
List Number
List Number 2
List Number 3
List Continue
List Continue 2
List Continue 3
macro
Quote
Caption
Intense Quote
TOC Heading

5.2、查看文字有哪些樣式

from docx.enum.style import WD_STYLE_TYPE
for i in Doc.styles:
 if i.type == WD_STYLE_TYPE.CHARACTER:
 print(i.name)
>>>
Default Paragraph Font
Heading 1 Char
Heading 2 Char
Heading 3 Char
Title Char
Subtitle Char
Body Text Char
Body Text 2 Char
Body Text 3 Char
Macro Text Char
Quote Char
Heading 4 Char
Heading 5 Char
Heading 6 Char
Heading 7 Char
Heading 8 Char
Heading 9 Char
Strong
Emphasis
Intense Quote Char
Subtle Emphasis
Intense Emphasis
Subtle Reference
Intense Reference
Book Title

案例:

from docx import Document
%cd D:YanZan_python2018word
Docx = Document()
Docx.add_heading("這是一個(gè)一級標(biāo)題",level=1)
Docx.add_paragraph("這是一個(gè)副級標(biāo)題","Title")
A = Docx.add_paragraph("My name is aaa")
A.add_run("我學(xué)習(xí)的很快樂,啊哈哈哈哈哈,非常好 Good!!!")
Docx.add_heading("這是一個(gè)二級標(biāo)題",level=2)
A = Docx.add_paragraph("這個(gè)是二級標(biāo)題的內(nèi)容呀")
B = A.add_run("二級標(biāo)題里面的正文 繼續(xù)添加?。。。。。?!")
B.font.bold = True # 同時(shí)我要對這些正文進(jìn)行加粗~~~~
B.font.size = (20)
Docx.add_heading("我愛學(xué)習(xí)Python以下就是python的logo呀",level=3)
Docx.add_picture("1.png")
Docx.add_table(rows=5, cols=5)
Docx.save("Python.docx")

效果如下:

用python操作word文檔的方法

關(guān)于用python操作word文檔的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

文章名稱:用python操作word文檔的方法
網(wǎng)頁鏈接:http://muchs.cn/article16/jopsgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、用戶體驗(yàn)App設(shè)計(jì)、面包屑導(dǎo)航、網(wǎng)站收錄、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站