我有这种格式的python代码,想要从响应中获取键和值。
def test()
data={u'Application': u'e2e', u'Cost center': u'qwerty', u'Environment': u'E2E', u'e2e3': u'aktest1', u'e2etest': u'aktest2', u'S68e2e': u'function',u'Application': u'test', u'Cost center': u'qwerty', u'Environment': u'E2E', u'e2e3': u'test7nov', u'e2etest': u'testapi', u'S68e2e': u'function'}
new={}
for k,v in data.items():
new["key"] = k
new["tags"] = []
for d in v:
flds = list(d)
new["tags"].append({"key": k, "values": flds})
print(new["tags"])
with open(fileName, 'w') as f:
json.dump(new["tags"], f, indent=3 * ' ')
test()
我得到的输出为
[ {'key': 'S68e2e', 'values': ['f']},
{'key': 'S68e2e', 'values': ['u']},
{'key': 'S68e2e', 'values': ['n']},
{'key': 'S68e2e', 'values': ['c']},
{'key': 'S68e2e', 'values': ['t']},
{'key': 'S68e2e', 'values': ['i']},
{'key': 'S68e2e', 'values': ['o']},
{'key': 'S68e2e', 'values': ['n']}]
这是不正确的。我希望是
[{'key': 'Application', 'values': 'e2e'}{'key': 'Cost center', 'values': 'qwerty'}{'key': 'e2etest', 'values': 'aktest2'}]
答案 0 :(得分:2)
您可以使用列表推导来创建字典列表,这些字典将您的键,值包装在其他键值中
[{ 'key': k, 'values': v } for k, v in data.items()]