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