我在一个带有key:value
的JSON对象中有数据,如下Python所示。对于Hari和Liz的ID和16有两个记录具有相同的ID。在
from collections import defaultdict
from itertools import *
from operator import itemgetter
data = [
{
"fname": "Abc",
"lname": "xyz",
"id": 15,
"club": "-",
"date": "-"
},
{
"fname": "Hari",
"lname": "Lee",
"id": 13,
"club": "Manutd",
"date": "2016-03-20T22:00:00.000Z"
},
{
"fname": "David",
"lname": "James",
"id": 14,
"club": "Barca",
"date": "-"
},
{
"fname": "Hari",
"lname": "Lee",
"id": 13,
"club": "Chelsea",
"date": "2012-03-20T22:00:00.000Z"
},
{
"fname": "Liz",
"lname": "Kiz",
"id": 16,
"club": "-",
"date": "-"
},
{
"fname": "Liz",
"lname": "Kiz",
"id": 16,
"club": "Falkon",
"date": "2014-03-20T22:00:00.000Z"
}
]
newdata = []
#for item, value in enumerate(data):
#for i,v in value.iteritems():
#print value['id']
#print value[i]
#print i,v
#newdata.append()
我想将JSON数据重新格式化为不带键的list,并将复制的ID合并为list列表。具有相同ID的记录将被映射到列表列表中,如下所示。我怎样才能做到这一点?在
^{pr2}$迭代新的列表数据,并将每个列表数据作为一行写入excel(xlwt)文件中
for i1, v1 in enumerate(newdata):
for i2,v2 in enumerate(v1):
if(type(v2) is str):
print v2
else:
for i3,v3 in enumerate(v2):
print v3
要检查相同的ID,您需要将数据存储在
dict
中但是
^{pr2}$dict
没有被排序。如果您想保留您的订单,您可以OrderedDict
对我来说,{}已经是一个好结果:
^{3}$但是,对于您想要的,您需要从最后一条dict的
values
构建一个新列表:itervalues()
来获取值的迭代器,而不是像values()
这样的列表输出:
相关问题 更多 >
编程相关推荐