Ich habe Daten in einem JSON Objekt mit einem key:value
wie in Python unten. Es gibt zwei Datensätze mit derselben ID für die Hari und für die Liz.Python - Konvertieren JSON-Objektdaten in eine Liste
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()
Ich möchte ohne Schlüssel JSON-Daten in die Liste neu zu formatieren und verschmelzen dupliziert ID als eine Liste der Liste. Der Datensatz mit den gleichen IDs wird in die Liste der Liste wie unten abgebildet abgebildet. Wie kann ich das erreichen?
newdata = [[["Hari", "Lee", "Manutd", "2016-03-20T22:00:00.000Z"], ["Hari", "Lee", "Chelsea", "2012-03-20T22:00:00.000Z"]],
["David", "James", "Barca", "-"], ["Abc", "xyz", "-" "-"], [["Liz", "Kiz", "-", "-"], ["Liz", "Kiz", "Falkon", "2014-03-20T22:00:00.000Z"]]]
Iterate über die neuen Listendaten und schreibt jeweils Listendaten als Zeile in Excel (xlwt) Datei
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
Du bist ein Held! Vielen Dank! – MysticCodes
Wie kann ich Elementwerte in der Reihenfolge anfügen und ID-Wert aus der Liste entfernen? – MysticCodes
Normales Diktat ist nicht bestellt. Sie müssen 'OrderedDict' verwenden, um die Elementwerte der Reihe nach anzuhängen. Um ** id ** von einem 'dict' oder' OrderedDict' zu entfernen, können Sie 'pop' verwenden. Ich habe meine Antwort aktualisiert. – qvpham