如何用in dictionary解析havin dictionary中的json文件

2024-06-11 16:08:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样的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文件: 网址,188.40.0.138\n,13882.403

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

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.

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


Tags: 文件csvcomjsonurlnetbytes格式
2条回答

您的i就是键;您必须查找data['url'][i]才能获得嵌套字典。你知道吗

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

for url, items in data.iteritems():
    for item, value in items.iteritems():
        print url, item, value['bytes']

如果计划编写CSV,请使用^{} module

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'))

相关问题 更多 >