-1

i have a txt file with some data, and i need to parse it in a list of dictionaries. It has block witch start from startpayment and end by endpayment. And i need to parse that block in a dict, and put that dict in list. There is example of the data (russian lang):

startpayment
СекцияДокумент=Платежное поручение
Номер=48077
Дата=19.04.2018
Сумма=53000
ДатаСписано=
Плательщик=ИНН 4823006703 ПАО "Новолипецкий металлургический комбинат"
ПлательщикИНН=4823006703
ПлательщикКПП=997550001
ПлательщикСчет=40702810300000000309
Плательщик1=ПАО "Новолипецкий металлургический комбинат"
ПлательщикРасчСчет=40702810300000000309
ПлательщикБанк1=ПАО "ЛИПЕЦККОМБАНК"
ПлательщикБанк2=г. ЛИПЕЦК
ПлательщикБИК=044206704
ПлательщикКорсчет=30101810700000000704
ДатаПоступило=19.04.2018
Получатель=ИНН 4826050620 ООО "ПРОМНОВАЦИЯ"
ПолучательИНН=4826050620
ПолучательКПП=482601001
ПолучательСчет=40702810352100000099
Получатель1=ООО "ПРОМНОВАЦИЯ"
ПолучательРасчСчет=40702810352100000099
ПолучательБанк1=ПАО АКБ "АВАНГАРД"
ПолучательБанк2=г. МОСКВА
ПолучательБИК=044525201
ПолучательКорсчет=30101810000000000201
ВидОплаты=01
СрокПлатежа=19.04.2018
Очередность=5
НазначениеПлатежа=Оплата за Закупка оборудования и запасных частей сч./ф. N 6 от 20.03.18, по дог. 100000000000176498 от 29.11.17. Без налога (НДС)
КонецДокумента
endpayment
startpayment
СекцияДокумент=Платежное поручение
Номер=222
Дата=23.04.2018
Сумма=5662.18
ДатаСписано=23.04.2018
Плательщик=ИНН 4826050620 ООО "ПРОМНОВАЦИЯ"
ПлательщикИНН=4826050620
ПлательщикКПП=482601001
ПлательщикСчет=40702810352100000099
Плательщик1=ООО "ПРОМНОВАЦИЯ"
ПлательщикРасчСчет=40702810352100000099
ПлательщикБанк1=ПАО АКБ "АВАНГАРД"
ПлательщикБанк2=г. МОСКВА
ПлательщикБИК=044525201
ПлательщикКорсчет=30101810000000000201
ДатаПоступило=
Получатель=ИНН 482400514895 Левашева Мария Владимировна
ПолучательИНН=482400514895
ПолучательСчет=40817810752100901942
Получатель1=Левашева Мария Владимировна
ПолучательРасчСчет=40817810752100901942
ПолучательБанк1=ПАО АКБ "АВАНГАРД"
ПолучательБанк2=г. МОСКВА
ПолучательБИК=044525201
ПолучательКорсчет=30101810000000000201
ВидОплаты=01
СрокПлатежа=
Очередность=5
НазначениеПлатежа=Для зачисления на счет Левашевой Марии Владимировны Перечисление подотчетной суммы Сумма 5662-18 Без налога (НДС)
КонецДокумента
endpayment

The block starts from startpayment to endpayment, and dict has this block splitted by = symbol, (it can be empty value). But, i cant to do it.. Could it someone can help me? Thanks a lot

  • You asked the same question a couple of hrs ago. https://stackoverflow.com/questions/50566754/parse-txt-to-blocks – Rakesh May 28 '18 at 16:39

1 Answers1

0

Try this :

split_properties=[line.split("=") for line in open('/<path_to_property_file>)]
properties={key: value for key,value in split_properties }

I got it from here. There are other examples of parsing .properties file in python as well maybe have a look here as well.