Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 19, 2016 19:50:48

ilunga
Зарегистрирован: 2016-08-19
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

преобразование строки в словарь

Привет. Прошу подсказать - есть ли ответ на мой вопрос именно указанным методом (как изучающий, хочу понять возможности преобразования).

В своём вопросе я опираюсь на рабочий пример из сети:

 import json
test = [{'key': '1', 'value': '2015-09-27'}, {'key': '9', 'value': 'WAV'}, {'key': '10', 'value': '07:31:22'}]
test2 = dict([(i['id'], i['value']) for i in test])
{'1': '2015-09-27', '9': 'WAV', '10': '07:31:22'} # результат

А вопрос такой:
возможно ли использовать такой же метод (как в примере) создания словаря при итерации строк из файла, которые выглядят очень похоже:
 {'id': '1', 'value': 'some data'},{'id': '9', 'value': 'other data'},{'id': '10', 'value': '09:10:38'}

Моя проблема в том, что я не знаю как преобразовать такую (получаемую при итерации) строку в список, подобный примеру. Т.е. можно ли привести указанную строку к виду списка словарей? :

 [{'id': '1', 'value': 'some data'}, {'id': '9', 'value': 'other data'}, {'id': '10', 'value': '09:10:38'}]

Отредактировано ilunga (Авг. 19, 2016 22:12:40)

Офлайн

#2 Авг. 22, 2016 02:58:17

scidam
Зарегистрирован: 2016-06-15
Сообщения: 288
Репутация: +  35  -
Профиль   Отправить e-mail  

преобразование строки в словарь

Итак, у вас есть строка, прочитанная из файла:

 youstr = '''{'id': '1', 'value': 'some data'},{'id': '9', 'value': 'other data'},{'id': '10', 'value': '09:10:38'}'''

чтобы ее преобразовать в список словарей проще всего воспользоваться модулем json:

 import json
yourstr = '''{'id': '1', 'value': 'some data'},{'id': '9', 'value': 'other data'},{'id': '10', 'value': '09:10:38'}'''
result = json.loads('[' + yourstr.replace("'",'"') + ']')
print result # or print(result)

Отредактировано scidam (Авг. 22, 2016 03:59:33)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version