使用Python从Resumes(.Docx,.Doc,PDF)中提取粗体文本

时间:2018-09-01 06:01:16

标签: python text-extraction

我有成千上万的各种格式的简历,例如带有.doc,.docx和pdf的单词。

我想使用python中的textract库从这些文档中提取粗体文本。有没有办法使用textract进行提取?

2 个答案:

答案 0 :(得分:0)

一个简单的解决方案是使用 python-docx 软件包。使用(!pip install python-docx

安装软件包

您需要将pdf文件转换为.docx。您可以使用任何在线pdf到docx转换器来实现,也可以使用python来实现。

以下代码行将提取简历的所有粗体斜体内容,并将它们保存在名为boltalic_Dict的词典中。您可以稍后再取回。

from docx import *

document = Document('path_to_your_files')
bolds=[]
italics=[]
for para in document.paragraphs:
    for run in para.runs:
        if run.italic :
            italics.append(run.text)
        if run.bold :
            bolds.append(run.text)

boltalic_Dict={'bold_phrases':bolds,
              'italic_phrases':italics}

我希望这会有所帮助。

答案 1 :(得分:0)

基于 m.borhan's answer 构建,因为在他们的代码中,一些连续的粗体和斜体部分未能作为单个项目输出:

from docx import *

document = Document('path_to_your_files')
bolds=[]
italics=[]
last_bold = "" #last bold part
last_italic = "" #last italic part
for para in document.paragraphs:
    for run in para.runs:
        if run.italic :
            last_italic = last_italic + run.text
        elif run.bold :
            last_bold = last_bold + run.text
        else:
            italics.append(last_italic)
            bolds.append(last_bold)
            last_italic = ""
            last_bold = ""
italics = [i for i in italics if i]
bolds = [i for i in bolds if i]
boltalic_Dict={'bold_phrases':bolds,
              'italic_phrases':italics}