2016-07-26 10 views
-1

Ich habe 2 lange Listen (extrahiert aus einem CSV) beide der gleichen Indexlänge. Beispiel:Wörterbuch zu JSON Objektkonvertierung

l1 = ['Apple','Tomato','Cocos'] #name of product 

l2 = ['1','2','3'] #some id's 

machte ich meinen Wörterbuch mit dieser Methode:

from collections import defaultdict 
d = defaultdict(list) 
for x in l1: 
    d['Product'].append(x) 
for y in l2: 
    d['Plu'].append(y) 
print d 

erhalten Sie folgende Ausgabe:

{ 'Produkt': [ 'Apfel', 'Tomate', ‚Cocos '], 'Plu': [' 1' , '2', '3']}

(Product und Plu mein wollte Schlüssel)

Jetzt habe ich versucht, dies zu einem JavaScript-Objekt wie folgt zu importieren:

import json 
print(json.dumps(d, sort_keys=True, indent=4)) 

erhalten Sie folgende Ausgabe:

{ 
    "Plu": [ 
     "1", 
     "2", 
     "3" 
    ], 
    "Product": [ 
     "Apple", 
     "Tomato", 
     "Cocos" 
    ] 
} 

Aber meine gewünschte Ausgabe ist dies:

{ 
    Product:'Apple', 
    Plu:'1' 
    }, 
    { 
    Product:'Tomato', 
    Plu:'2' 
    }, 
    { 
    Product:'Cocos', 
    Plu:'3' 
    } 

Ich werde später das verwenden, um Werte in eine MongoDB einzufügen. Was muss ich in meiner json.dump (oder in meinem dict?) Ändern, um eine gewünschte Ausgabe zu bekommen? Gibt es auch eine Möglichkeit, die Ausgabe in einer TXT-Datei zu speichern? (da ich einen großen Code haben werde).

+0

@jherax Dies ist nicht eine JS Frage! – Bergi

+0

@Bergi du hast recht, danke für die fixen Tags +1 – jherax

Antwort

0

Anstatt mit einer defaultdict (was man nicht alles in diesem Fall nicht kaufen), sind Sie besser dran zip ping die Listen und von jedem Paar ein dict erstellen:

[{'Product': product, 'Plu': plu} for product, plu in zip(l1, l2)] 
+0

Ich bekomme dann eine Liste von Dicts, wie ich das später in ein Javascript-Objekt umwandeln kann? – iRocku

+0

@iRocku - Sie können 'json.dumps' es und dann irgendwie in Ihre HTML/Javascript-Datei einfügen .... – mgilson

+0

oh wow, es funktioniert, gibt es irgendeine Möglichkeit, die [] am Anfang und Ende zu entfernen Ich erzeuge mein Javascript-Objekt? – iRocku

Verwandte Themen