(Data: http://paste.ubuntu.com/7605667/)json.loads не печатает список из текстового файла
Я пытаюсь создать объект JSON из текстового файла и распечатать его в виде списка питона dicts. Код я использую:
records=[json.loads(line) for line in open(path)]
records[0]
Это дает мне:
{u'a': u'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.78 Safari/535.11', u'c': u'US', u'nk': 1, u'tz': u'America/New_York', u'gr': u'MA', u'g': u'A6qOVH', u'h': u'wfLQtf', u'cy': u'Danvers', u'l': u'orofrog', u'al': u'en-US,en;q=0.8', u'hh': u'1.usa.gov', u'r': u'http://www.facebook.com/l/7AQEFzjSi/1.usa.gov/wfLQtf', u'u': u'http://www.ncbi.nlm.nih.gov/pubmed/22415991', u't': 1331923247, u'hc': 1331822918, u'll': [42.576698, -70.954903]}
Но когда я использую pprint, я получить желаемые результаты:
pprint(records[0])
{u'a': u'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.78 Safari/535.11',
u'al': u'en-US,en;q=0.8',
u'c': u'US',
u'cy': u'Danvers',
u'g': u'A6qOVH',
u'gr': u'MA',
u'h': u'wfLQtf',
u'hc': 1331822918,
u'hh': u'1.usa.gov',
u'l': u'orofrog',
u'll': [42.576698, -70.954903],
u'nk': 1,
u'r': u'http://www.facebook.com/l/7AQEFzjSi/1.usa.gov/wfLQtf',
u't': 1331923247,
u'tz': u'America/New_York',
u'u': u'http://www.ncbi.nlm.nih.gov/pubmed/22415991'}
Как это можно сделать с json.loads? Я попытался с помощью «записей [0] .split („“)», но получаю сообщение об ошибке:
AttributeError: 'dict' object has no attribute 'split'
вы пытаетесь взять Dict с большим количеством пар ключ/значение, и включить его int o список, где каждая запись представляет собой одну пару ключ/значение из исходного dict? – dano
Это поможет, если вы сможете показать нам свой файл ввода. – shaktimaan
Хмм, я бы хотел показать вывод с помощью json.loads() таким же образом, как в примере выше, чем pprint(). – mikesynan