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

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

 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'}]
scidam
Итак, у вас есть строка, прочитанная из файла:
 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)

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