Печать названия группы и соответствующих данных из текста - PullRequest
0 голосов
/ 07 марта 2019

Я написал шаблон регулярных выражений для своих данных с помощью regex101.com .

regex=r"(?P<tag_name>\w+), {(('\w+': '(\w+|\w+-\d)')?,?\s?('\w+': '(\w+|\d.\d{1,})')?)?}, (?P<text>[\w .,]+)"

Данные имеют следующий тип в sample.txt:

tag1, {'id': 'line_1', 'Prob': '0.96'}, None 
tag2, {'a_id': 'aid'}, None 
tag3, {}, John 
x, {},   
tag3, {}, Doe 

Теперь я хочу, чтобы требуемый вывод был сохранен в текстовом файле следующим образом:

    Line_number: line_1
    <group_name_tag1>: None
    <group_name_tag3>: John
    <group_name_tagx>: 
    <group_name_tag3>: Doe

Я пытался подписаться

import re
regex=r"(?P<tag_name>\w+)?,\s({('id':\s'(?P<Line_Number>\w+)',\s'Prob':\s'(\d.\d{1,}|\w+)')?},)?([\w .]+)"
temp=[]
with open("sample.txt", "r") as ins:

    for line in ins:
        temp.append(re.findall(regex, line, re.I))

Но не получить желаемый результат

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...