我应该如何使用Python读取.docx文件,并能够识别斜体文本并将其存储为字符串?
我查看了docx python包,但我看到的只是写入.docx文件的功能。
我提前感谢您的帮助
答案 0 :(得分:4)
这是我的示例文档TestDocument.docx
的样子。
注意:" 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文件中提取文本字符串即可。