Python 如何解析json文件havin dictionary和in dictionary

Python 如何解析json文件havin dictionary和in dictionary,python,json,Python,Json,我有这样的json文件: { "url": { "188.40.0.138\n": { "bytes": 13882, "code": 403 }, "iantivirus.us\n": { "bytes": 13563, "code": 503 }, "ibmsupport.net\n": {

我有这样的json文件:

{
    "url": {
        "188.40.0.138\n": {
            "bytes": 13882,
            "code": 403
        },
        "iantivirus.us\n": {
            "bytes": 13563,
            "code": 503
        },
        "ibmsupport.net\n": {
            "bytes": 13648,
            "code": 503
        },
        "usbnak.com\n": {
            "bytes": 13779,
            "code": 403
        }
    }
}
我想将其转换为以下格式的csv文件: url,188.40.0.138\n,13882.403

当我使用 (假设已将其加载到变量数据)


这里的问题是我无法访问内部元素

您的
i
只是关键;您必须查找
数据['url'][i]
才能获得嵌套字典

可以使用
dict.iteritems()
(Python 2)或
dict.items()
(Python 3)嵌套循环:

如果您计划编写CSV,请使用:


'url'
是静态的吗?你是想写
url,188.40.0.138\n,13882.403
,然后写
url,iantivirus.us\n,13563
,等等,还是应该省略
url
数据中还有其他键吗
?非常感谢,你救了我的命:)
for i in data['url']"
    print i['status'] # says index should be integer
    print i # prints 188.40.0.138\n
    print i[0:3] #prints 188.
for url, items in data.iteritems():
    for item, value in items.iteritems():
        print url, item, value['bytes']
import csv

with open('output.csv', 'wb') as outfh:
    writer = csv.writer(outfh)
    for url, items in data.iteritems():
        for item, value in items.iteritems():
            writer.writerow([url, item, value['bytes']])
for i,k in data.iteritems():
    for y,z in k.iteritems():
        print "url,%s,%s.%s"%(y,z.get('bytes'),z.get('code'))