pythondocx文档重叠_使用PYTHON实现docx文档的读写
經(jīng)常寫(xiě)文章的小白們會(huì)遇到這樣的問(wèn)題,知道想表達(dá)的意思,想出了大概描述的詞匯,但就是缺乏完整漂亮的句子,也許曾經(jīng)在某個(gè)地方看到過(guò),但是找不到了。另外一種情況,閱讀了大量的報(bào)告,用的時(shí)候想到了其中的某個(gè)結(jié)論或者數(shù)據(jù),想要追根溯源卻有點(diǎn)難。可惜word軟件不提供在一堆文件里查找的功能,也沒(méi)有類(lèi)似于正則表達(dá)式的檢索方法,只好自力更生來(lái)實(shí)現(xiàn)了。
python大法好。
依賴(lài)的包:python-docx
安裝:pip install python-docx
引用:import docx
.docx文件的結(jié)構(gòu)比較復(fù)雜,分為三層,1、Docment對(duì)象表示整個(gè)文檔;2、Docment包含了Paragraph對(duì)象的列表,Paragraph對(duì)象用來(lái)表示文檔中的段落;3、一個(gè)Paragraph對(duì)象包含Run對(duì)象的列表,用下面這個(gè)圖說(shuō)明Run到底是神馬東西。
Word里面的文本不只是包含了字符串,還有字號(hào)、字體、顏色等等屬性,都包含在style中。一個(gè)Run對(duì)象就是style相同的一段文本,新建一個(gè)Run就有新的style。
下面是一些簡(jiǎn)單的演示:
1 >>> importdocx2 >>> doc = docx.Document('D:\project\python\searchdocx\demo.docx')3 >>>doc4
5 >>>len(doc.paragraphs)6 7
7 >>>doc.paragraphs[0].text8 u'Document Title'
9 >>> doc.paragraphs[1].text10 u'A plain paragraph with some bold and some italic'
11 >>> len(doc.paragraphs[1].runs)12 5
13 >>> doc.paragraphs[1].runs[0]14
15 >>> doc.paragraphs[1].runs[0].text16 'A plain paragraph with'
17 >>> doc.paragraphs[2].runs[0].text18 'Heading, level 1'
19 >>> doc.paragraphs[1].runs[1].text20 'some'
21 >>>
當(dāng)然,也可以寫(xiě)一個(gè)簡(jiǎn)單的方法,讀取文檔中的所有文字,不管格式。
importdocxdefreadDocx(docName):
fullText=[]
doc=docx.Document(docName)
paras=doc.paragraphsfor p inparas:
fullText.append(p.text)return '\n'.join(fullText)
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的pythondocx文档重叠_使用PYTHON实现docx文档的读写的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 程序如何调堆内存_Java的内存泄漏
- 下一篇: websocket python爬虫_p