读取docx文件,识别并存储斜体文本

时间:2015-06-09 19:07:35

标签: python string docx

我应该如何使用Python读取.docx文件,并能够识别斜体文本并将其存储为字符串?

我查看了docx python包,但我看到的只是写入.docx文件的功能。

我提前感谢您的帮助

2 个答案:

答案 0 :(得分:4)

这是我的示例文档TestDocument.docx的样子。

enter image description here

注意:" Italic"是Italics,但是"强调"使用风格,强调。

如果您安装了python-docx模块。这是一个相当简单的练习。

>>> from docx import Document
>>> document = Document('TestDocument.docx')
>>> for p in document.paragraphs:
...     for run in p.runs:
...             print run.text, run.italic, run.bold
... 
Test Document None None
Italics True None
Emp None None
hasis None None
>>> [[run.text for run in p.runs if run.italic] for p in document.paragraphs]
[[], ['Italics'], []]

Run.italic属性捕获文本是否格式化为斜体,但它不知道文本块是否具有以斜体呈现的样式,但可以通过检查Run.style来检测它.name(如果您知道文档中的哪些样式以斜体显示。

>>> [[run.text for run in p.runs if run.style.name=='Emphasis'] for p in document.paragraphs]
[[], [], ['Emp', 'hasis']]

答案 1 :(得分:0)

最好的办法是解压缩docx,这将创建一个名为word的目录。在该目录中是document.xml,从那里你需要学习xml结构和关键字,以便能够只读取斜体文本。完成后,您只需从xml文件中提取文本字符串即可。