0

私は近くにいると思いますが、これでぐるぐる回っています。JSON からインポートされた Python の辞書があります。生データが多すぎてここに投稿できません。コードは、辞書から最後の値のみを返すことを除いて、私が望むように機能し、私が望むものを出力します。これを変更してすべての値を返し、ここに表示されているとおりに正確に出力するにはどうすればよいですか? 最終的には、このデータを 1 つのエントリとしてデータベースに追加したいと考えています。

コード:

text = json.loads(content)

a = {}

def extract(DictIn, Dictout):
    for key, value in DictIn.iteritems():
        if isinstance(value, dict): 
            extract(value, Dictout)
        elif isinstance(value, list):
            for i in value:
                extract(i, Dictout)
        else:
            Dictout[key] = value

extract(text, a)

for k, v in a.iteritems():
    print k, ":", v

結果は次のようになりますが、他に 40 ほどのエントリがあります。現在、コードは最後のエントリのみを表示しています:

datetime : 2014-06-10T20:00:00-0600
date : 2014-06-10
href : http://xxxxxxxxxxxx.json
lng : -94.5554
id : 17551289
createdAt : 2013-07-30T12:18:56+0100
city : Kansas City, MO, US
billing : headline
totalEntries : 37
type : Concert
billingIndex : 1
status : ok
perPage : 50
setlistsHref : xxxxxxxxxxxx:51b7f46f-6c0f-46f2-9496-08c9ec2624d4/setlists.json
lat : 39.0763
displayName : Ben Folds
eventsHref : http://xxxxxxx.08c9ec2624d4/calendar.json
popularity : 0.0
uri : xxxxxxxxxxxxxxxxxx
mbid : xxxxxxxxxxx
onTourUntil : 2014-06-10
time : 20:00:00
page : 1
4

1 に答える 1