Преобразовать строку в словарь в Python? - PullRequest
2 голосов
/ 17 января 2011

Я извлекаю данные из твиттера, который входит в структуру словаря python, но данные хранятся в строковой переменной.

Как преобразовать эту строковую переменную в словарь в Python?

Спасибо за помощь!

РЕДАКТИРОВАТЬ: Здесь является примером данных.

Ответы [ 2 ]

9 голосов
/ 17 января 2011

Вы, вероятно, ищете модуль json .

Например,

In [165]: json.loads('{"a": 0, "c": 0, "b": 0}')
Out[165]: {u'a': 0, u'b': 0, u'c': 0}
3 голосов
/ 17 января 2011

Как говорит unutbu, вы должны использовать модуль json. Используя данные вашего примера, я могу сделать это:

import json
import codecs
tweet = codecs.open('example.txt', encoding='utf8').read()
data = json.loads(tweet)
print keys(data)

С этим результатом:

[u'favorited', u'in_reply_to_user_id', u'retweeted_status', u'contributors', u'truncated', u'entities', u'text', u'created_at', u'retweeted', u'in_reply_to_status_id', u'coordinates', u'id', u'source', u'in_reply_to_status_id_str', u'in_reply_to_screen_name', u'id_str', u'place', u'retweet_count', u'geo', u'in_reply_to_user_id_str', u'user']

Нет сообщений об ошибках. Возможно, вы могли бы включить некоторые примеры данных для случая ошибки вместе с соответствующим кодом?

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