2015-11-07 5 views
0

Мое описание/название может отсутствовать, так как я новичок в Python, однако в качестве примера, я в настоящее время есть данные, как показано ниже хранится в переменной bunnies:Развернуть список словарей в читаемом формате

[{'rabbithole': {'holenumber': 1, 'family': 'roger', 'status': 'elite'}, 'food': 'steak', 'children': 108, 'job': ' chef ',' etc ':' etc ',' etc ': ' etc '}, {' rabbithole ': {' holenumber ': 2,' family ':' roger ',' status ': ' elite '} , 'food': 'steak', 'children': 108, 'job': 'chef', 'etc': 'etc', 'etc': 'etc'}, {'rabbithole': {'holenumber' : 3, 'family': 'roger', 'status': 'elite'}, 'food': 'steak', 'children': 108, 'job': 'chef', 'etc': 'etc', 'etc': 'etc'}]

моя цель состоит в том, чтобы разбить его в читаемом формате, как это:

{ 
'rabbithole': { 
    'holenumber': 1, 
    'family': 'roger', 
    'status': 'elite' 
}, 
'food': 'steak', 
'children': 108, 
'job': 'chef', 
'etc': 'etc', 
'etc': 'etc' 
} 

... 

То, что я до сих пор это ...

def virt(list): 
    for i in list: 
     print i 
     print "\n" 

virt(bunnies) 

, который дает мне новую линию для каждого список равнинов ...

, так что я пробовал это:

К сожалению, это не делало ничего, кроме как выкинуть ошибку из библиотеки re.

File "/usr/lib64/python2.7/re.py", line 146, in search 
    return _compile(pattern, flags).search(string) 

Я не смотрел слишком много в этой ошибки пока нет, но у меня есть чувство, что я собирался в неправильном направлении, в любом случае.

Может ли кто-нибудь помочь указать мне в правильном направлении?

+0

вы должны смотреть 'модуль pprint', если вы просто посмотрите на довольно печать – ozy

+0

принять Ill взгляд в это тоже, Благодаря ozy – Procyclinsur

+0

json-модуль немного расстраивает {}, но это немного проще. – Procyclinsur

ответ

1

Вы можете использовать модуль json Python:

import json 

print json.dumps(your_data, sort_keys=True, indent=4, separators=(',', ': ')) 

Пример:

a=json.dumps([{'rabbithole': {'holenumber': 1, 'family': 'roger', 'status': 'elite'}, 'food': 'steak', 'children': 108, 'job': 'chef', 'etc': 'etc', 'etc': 'etc'}, {'rabbithole': {'holenumber': 2, 'family': 'roger', 'status': 'elite'}, 'food': 'steak', 'children': 108, 'job': 'chef', 'etc': 'etc', 'etc': 'etc'}, {'rabbithole': {'holenumber': 3, 'family': 'roger', 'status': 'elite'}, 'food': 'steak', 'children': 108, 'job': 'chef', 'etc': 'etc', 'etc': 'etc'}], sort_keys=True, indent=4, separators=(',', ': ')) 
>>> print a 
[ 
    { 
     "children": 108, 
     "etc": "etc", 
     "food": "steak", 
     "job": "chef", 
     "rabbithole": { 
      "family": "roger", 
      "holenumber": 1, 
      "status": "elite" 
     } 
    }, 
    { 
     "children": 108, 
     "etc": "etc", 
     "food": "steak", 
     "job": "chef", 
     "rabbithole": { 
      "family": "roger", 
      "holenumber": 2, 
      "status": "elite" 
     } 
    }, 
    { 
     "children": 108, 
     "etc": "etc", 
     "food": "steak", 
     "job": "chef", 
     "rabbithole": { 
      "family": "roger", 
      "holenumber": 3, 
      "status": "elite" 
     } 
    } 
] 
+0

Попытайтесь это сейчас и сообщите, как это работает. – Procyclinsur

+0

ス ゲ ー или на английском языке, святая корова ... простая и точная ... Мне нужно немного заглянуть в библиотеку json ... – Procyclinsur

Смежные вопросы