У меня есть pdf-файл с 82 абзацами, моя цель - использовать python, чтобы разбить каждый абзац на отдельный блок текста. Я уже извлек текст с помощью PyPDF2.
Все абзацы начинаются с числа и точки (1. 42. 76. et c.). Он работает для большинства абзацев с приведенным ниже кодом, но не всегда учитывает точку. Например, вывод совпадения числа 18: «18 (06 /». Это не должно было быть выбрано, потому что после него нет точки. Есть предложения?
Код для поиска позиций:
i = 1
all_positions = []
found = "found"
while found == "found":
matches = []
matches_positions =[]
standard_length = 0
substring = str(i) + "."
matches = re.finditer(substring, text, re.IGNORECASE)
matches_positions = [match.start() for match in matches]
standard_length = len(matches_positions)
if standard_length > 0:
all_positions.append(matches_positions[0])
i += 1
else:
found = "not found"
Код для вывода на печать:
for i in range(0,len(all_positions)):
print('---')
print(text[all_positions[i]:all_positions[i+1]])