Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 14, 2021 08:47:58

PSAS
Зарегистрирован: 2021-11-13
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

Анализ следующей строки

Здравствуйте!

В тексте нахожу необходимую строку, но данные в некоторых случаях, например, Адрес переносятся на следующую строку. Как их возможно добавить?

в данном случае - Коншиных, 111,
“Адрес: Российская Федерация, Краснодарский кр., Усть-Лабинский район, ст-ца
 Ладожская, ул.
Коншиных, 111”

при этом универсальным параметром является слово Адрес:

adress = re.findall('Адрес(.+)', text)

Офлайн

#2 Ноя. 14, 2021 09:36:59

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9873
Репутация: +  853  -
Профиль   Отправить e-mail  

Анализ следующей строки

PSAS
Как их возможно добавить?
Замени символ \n на пробел в строке до поиска адреса в этой строке.



Отредактировано py.user.next (Ноя. 14, 2021 09:37:28)

Офлайн

#3 Ноя. 14, 2021 16:58:11

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1353
Репутация: +  118  -
Профиль   Отправить e-mail  

Анализ следующей строки

PSAS
В тексте нахожу необходимую строку, но данные в некоторых случаях, например, Адрес переносятся на следующую строку. Как их возможно добавить?
Выложите сюда файл,который будет на входе программы и опишите то что должно быть на выходе

Офлайн

#4 Ноя. 14, 2021 18:51:09

PSAS
Зарегистрирован: 2021-11-13
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

Анализ следующей строки

xam1816
Здравствуйте!
Обрабатываемый файл во вложении.
Код
[code python]import pdfplumber
import re

def extract_first():
pdf = pdfplumber.open("16.4.pdf")
page = pdf.pages[0]
text = page.extract_text()

pattern = re.compile('../..../.........')
result = pattern.findall(text)
#print (text)

name = re.findall('Наименование:(.+)', text)[0]
nazn = re.findall('Назначение:(.+)', text)[0]
ploshad = re.findall('Площадь, м²:(.+)', text)[0]
etash = re.findall('Количество этажей(.+)', text)[0]
adress = re.findall('Адрес(.+)', text)[0]
nomer = re.findall('Кадастровый номер:(.+)', text)[0]

input_str = (str (name) + "." " Назначение:" + str (nazn)+ "." + "Площадь:" + str (ploshad) +" кв.м." + " Количество этажей" + str (etash)+ "." + " Адрес"
+ str (adress)+ "." + " Кадастровый номер:" + str (nomer)+ "." )

for i, j in ("'",""),("&#x0d",""):
input_str = input_str.replace(i, j)
for q, w in (";",""),("кр.","край"):
input_str = input_str.replace(q, w)

input_str = input_str.capitalize()
print(input_str)
if(__name__ == "__main__"):
extract_first()
[/code]


На выходе получается

нежилое здание - склад горюче-смазочных материалов. назначение: нежилое здание.площадь: 16.4 кв.м. количество этажей, в том числе подземных этажей: 1, в том числе подземных 0. адрес: российская федерация, краснодарский край, усть-лабинский район, ст-ца ладожская, ул.. кадастровый номер: 23:35:1006004:277.

На выходе должно получиться

Нежилое здание - склад горюче-смазочных материалов. Назначение: Нежилое здание.Площадь: 16.4 кв.м. Количество этажей, в том числе подземных этажей: 1, в том числе подземных 0. Адрес: Российская Федерация, Краснодарский край, Усть-Лабинский район, ст-ца Ладожская, ул.Коншиных, 111 . Кадастровый номер: 23:35:1006004:277.

Отредактировано PSAS (Ноя. 14, 2021 18:51:45)

Прикреплённый файлы:
attachment 16.4.pdf (85,6 KБ)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version