Python 如何解析json文件havin dictionary和in dictionary
我有这样的json文件: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": {
{
"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'))