久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

Python處理Dict生成json

瀏覽:162日期:2022-08-02 17:10:17

問題描述

情況是這樣:json文件中存在一個(gè)值為

'headers':{ 'connection':['close'], 'content_language':['en'], 'content_length':['3137'], 'content_type':['text/html'], 'server':['squid/3.1.23'], 'unknown':[ {'key':'mime_version','value':['1.0']}, {'key':'date','value':['Sat, 25 Mar 2017 06:11:38 GMT']}, {'key':'x_squid_error','value':['ERR_INVALID_URL 0']}, {'key':'x_cache','value':['MISS from unknown']}, {'key':'x_cache_lookup','value':['NONE from unknown:8080']} ]}

由于之前的腳本的處理過于簡單粗暴。現(xiàn)實(shí)要將'unknown'給替換成字典中的值。以下是我處理的一段Test code ,在Ipython中:

import jsonf = open(’file.json’,’r’)test_line = f.readline()jsonstr = json.loads(test_line)he = jsonstr[’headers’]# 輸出正常的for (k,v) in he.items(): print k,’:’,v[0]

輸出的是:

'connection':'close', 'content_language':'en', 'content_length':'3137', 'content_type':'text/html', 'server':'squid/3.1.23', 'unknown':[ {'value':['1.0'],'key':'mime_version'}

問題:1, 怎么處理“unknown”中的list,用for的話,怎么輸出?2, 怎么處理“unknown”使其能輸出如下的結(jié)果:

'connection':'close', 'content_language':'en', 'content_length':'3137', 'content_type':'text/html', 'server':'squid/3.1.23', 'mime_version':'1.0', 'date':'Sat, 25 Mar 2017 06:11:38 GMT', 'x_squid_error':'ERR_INVALID_URL 0', 'x_cache':'MISS from unknown', 'x_cache_lookup':'NONE from unknown:8080'

謝謝!~

問題解答

回答1:

# 無非就是list套dict,一層一層往下寫就是了# 輸出正常的for (k,v) in he.items(): if k != ’unknown’:print k,’:’,v[0] else:# unknown對(duì)應(yīng)的值是listfor it in v: # it是dict print it.get(’key’), ’:’, it.get(’value’)[0]回答2:

要學(xué)會(huì)優(yōu)雅的處理數(shù)據(jù),只要把unknown 取出來再合并進(jìn)去就行了。

unknown = headers[’unknown’]headers.pop(’unknown’)set(map(lambda x: (x[’key’], x[’value’][0])))headers = dict(headers.items() + unknown)回答3:

headers.update({_[’key’]: _[’value’][0] for _ in headers[’unknown’]})headers.pop(’unknown’)print headers

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 逊克县| 桑日县| 高台县| 崇州市| 崇义县| 龙里县| 秦安县| 乐昌市| 怀远县| 山丹县| 郸城县| 土默特左旗| 新密市| 和硕县| 西平县| 城口县| 铜陵市| 鄂州市| 铜川市| 涿州市| 博爱县| 望城县| 赫章县| 澜沧| 辛集市| 灌南县| 明光市| 玉山县| 洞头县| 石台县| 务川| 云南省| 上思县| 兴山县| 林口县| 抚宁县| 大方县| 桦南县| 兴文县| 朝阳县| 阿合奇县|