使用PYTHON实现docx文档的读写
2017-02-17 14:37
519 查看
经常写文章的小白们会遇到这样的问题,知道想表达的意思,想出了大概描述的词汇,但就是缺乏完整漂亮的句子,也许曾经在某个地方看到过,但是找不到了。另外一种情况,阅读了大量的报告,用的时候想到了其中的某个结论或者数据,想要追根溯源却有点难。可惜word软件不提供在一堆文件里查找的功能,也没有类似于正则表达式的检索方法,只好自力更生来实现了。
python大法好。
依赖的包:python-docx
安装:pip install python-docx
引用:import docx
.docx文件的结构比较复杂,分为三层,1、Docment对象表示整个文档;2、Docment包含了Paragraph对象的列表,Paragraph对象用来表示文档中的段落;3、一个Paragraph对象包含Run对象的列表,用下面这个图说明Run到底是神马东西。
Word里面的文本不只是包含了字符串,还有字号、字体、颜色等等属性,都包含在style中。一个Run对象就是style相同的一段文本,新建一个Run就有新的style。
下面是一些简单的演示:
当然,也可以写一个简单的方法,读取文档中的所有文字,不管格式。
python大法好。
依赖的包:python-docx
安装:pip install python-docx
引用:import docx
.docx文件的结构比较复杂,分为三层,1、Docment对象表示整个文档;2、Docment包含了Paragraph对象的列表,Paragraph对象用来表示文档中的段落;3、一个Paragraph对象包含Run对象的列表,用下面这个图说明Run到底是神马东西。
Word里面的文本不只是包含了字符串,还有字号、字体、颜色等等属性,都包含在style中。一个Run对象就是style相同的一段文本,新建一个Run就有新的style。
下面是一些简单的演示:
1 >>> import docx 2 >>> doc = docx.Document('D:\project\python\searchdocx\demo.docx') 3 >>> doc 4 <docx.document.Document object at 0x0000000003277B40> 5 >>> len(doc.paragraphs) 6 7 7 >>> doc.paragraphs[0].text 8 u'Document Title' 9 >>> doc.paragraphs[1].text 10 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 <docx.text.run.Run object at 0x00000000032C8710> 15 >>> doc.paragraphs[1].runs[0].text 16 'A plain paragraph with' 17 >>> doc.paragraphs[2].runs[0].text 18 'Heading, level 1' 19 >>> doc.paragraphs[1].runs[1].text 20 ' some ' 21 >>>
当然,也可以写一个简单的方法,读取文档中的所有文字,不管格式。
1 import docx 2 3 def readDocx(docName): 4 fullText = [] 5 doc = docx.Document(docName) 6 paras = doc.paragraphs 7 for p in paras: 8 fullText.append(p.text) 9 return '\n'.join(fullText)
相关文章推荐
- Python使用扩展库pywin32实现批量文档打印
- 使用Python处理docx格式文档
- 使用Python通过win32 COM实现Word文档的写入与保存
- $用python-docx模块读写word文档
- 使用Python通过win32 COM实现Word文档的写入与保存方法
- Python使用Pickle库实现读写序列操作示例
- Python-docx:读写word文档的Python库
- Ubuntu下使用python读取doc和docx文档的内容
- Python之使用Pandas库实现MySQL数据库的读写
- 使用Lucene对doc、docx、pdf、txt文档进行全文检索功能的实现
- 使用 ruamel.yaml 读写 yaml 文档 Python 操作笔记
- 【python下使用OpenCV实现计算机视觉读书笔记3】读写视频文件
- Ubuntu下使用python读取doc和docx文档的内容方法
- 使用XML读写删除功能来实现资源文件配置
- 简单内容管理实现:使用JCR对二进制文件的读写和全文检索
- 近期准备写一系列关于使用python实现常用算法的文章
- 使用jscript实现二进制读写脚本代码
- 使用VB在U盘扇区中读写字符,经过很长时间的研究,终于实现了。
- 使用C#自动生成Word2003文档(通过操作COM组件实现)-转载
- Python open读写文件实现脚本