wesmokeweed
Окт. 8, 2017 21:32:44
Есть txt файл с запарсенными данными. Вот часть из них:
{'b': ,
‘e’: 'FT',
‘f’: ,
‘g’: 5,
‘h’: 5,
‘id’: ,
‘l’: ,
‘m’: 'Desert Eagle | Conspiracy',
‘n’: ,
‘o’: ,
‘p’: 2.13,
‘u’: ‘k4a’,
‘v’: 10,
‘y’: },
Необходимо достать выделенный жирным шрифтом текст. И хоть убей, не могу допереть, как их достать. Максимум, на что я способен, это выделить всю строку с необходимым мне текстом. Помогите обделенному умом
AndreyGrish
Окт. 9, 2017 12:44:43
Да, посмотрите словари программирование на Python.
marvellik
Окт. 10, 2017 19:27:35
Romissevd
Так если это словарь
дело в том что это мы видим словарь а питон эти данные из файла получит как строку
'{'b': ,‘e’: 'FT',‘f’: ,‘g’: 5,‘h’: 5,‘id’: ,‘l’: ,‘m’: 'Desert Eagle | Conspiracy',}'
и из этой строки вы не получите значение по ключу
Romissevd
Окт. 10, 2017 21:20:38
тогда преобразовать строку в словарь
import re
st = "{'b': ,'e': 'FT','f': ,'g': 5,'h': 5,'id': ,'l': ,'m': 'Desert Eagle | Conspiracy'}"
print(dict(zip(re.findall(r'(?<=\')[\w\s]+(?=\':)', st), [re.search(r'(?<=: )[^}]*', x).group() for x in st.split(',')])))
и получить значения по ключу
Vintets
Окт. 11, 2017 09:53:01
А это и не словарь. Там пустые значения, так не может быть
Может быть или None или пустая строка ''.
Тогда и регулярки не нужны
import json
st = "{'b': '','e': 'FT','f': '','g': 5,'h': 5,'id': '','l': '','m': 'Desert Eagle | Conspiracy'}"
print(json.loads(st.replace("'", '"')))
Ну или в крайнем случае