Найти - Пользователи
Полная версия: Анализ следующей строки
Начало » Python для новичков » Анализ следующей строки
1
PSAS
Здравствуйте!

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

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

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

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

py.user.next
PSAS
Как их возможно добавить?
Замени символ \n на пробел в строке до поиска адреса в этой строке.
xam1816
PSAS
В тексте нахожу необходимую строку, но данные в некоторых случаях, например, Адрес переносятся на следующую строку. Как их возможно добавить?
Выложите сюда файл,который будет на входе программы и опишите то что должно быть на выходе
PSAS
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.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB