Я использую slate3k для получения текста из резюме (резюме) в формате PDF в python 3.8.1, так как я не смог получить другую библиотеку, которая выполняет аналогичную функцию для работы. Он сделал в основном то, что я просил, но сейчас я пытаюсь разбить резюме на разделы.
Мой подход заключается в следующем:
1) Добавить "** HEADING **" к любой строке в списке, которая isupper и содержит string.find ("...") == 1
2) Добавить "** CONTENT * * "до остальных строк, используя метод else
3) Используйте следующий код для разбиения на разделы:
with open('cv-1.pdf', 'rb') as f:
doc = slate.PDF(f)
# Make new array
doc_string = str(doc)
lines = doc_string.splitlines()
split = lines[0].split("\\n")
split[0] = split[0].replace("['", "")
section_split = []
# ... Code to convert "split" list into "section_split" list with **HEADING** etc ... THEN:
# End not found
flag = False
# While end not found
while not flag:
# Count for the the headers
count = 1
# Loop through the list
for g in section_split:
# If **HEADING** is found
if g.find("**HEADING**") != -1:
# Used tp ignore the first section header
if count > 1:
# End found
flag = True
# Break when section completed
break
else:
# Add section header to section list
sec2.append(g)
# Increment the count
count = count + 1
else:
# Add the content lines to the section list
sec2.append(g)
# Remove lines found in the section from the main list
section_split = [x for x in section_split if x not in sec2]
Это работает в основном хорошо, пока не встретит таблицу и не перейдет на следующий раздел перед тем, как перейти ко второму столбцу таблицы.
Любое понимание или более эффективный путь к l oop сквозным разделам будет принята с благодарностью:)
Спасибо за вашу помощь заранее!