2016-07-26 129 views
-1

我有兩個長列表(從csv中提取)兩個相同的索引長度。 例子:字典到JSON對象轉換

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

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

我做了我的字典用這種方法:

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 

這將輸出:

{ '產品': '蘋果', '番茄',「科科斯'],'Plu':['1','2','3']}

ProductPlu是我想要的鍵)

現在我試圖導入此爲JavaScript對象是這樣的:

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

這將輸出:

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

但我需要的輸出是這樣的:

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

我稍後將使用它在MongoDB中插入值。爲了獲得所需的輸出,我需要在我的json.dump(或在我的字典?)中更改哪些內容?還有一種方法可以將輸出保存在txt文件中嗎? (因爲我會有一個大代碼)。

+0

@jherax這不是一個JS問題! – Bergi

+0

@Bergi你是對的,謝謝修復標記+1 – jherax

回答

0

而不是使用defaultdict(不買你在這種情況下任何東西),你就要去zip平更好的名單,並從每對創建dict

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

我會得到一個列表的字典,我怎麼能稍後轉換成一個JavaScript對象? – iRocku

+0

@iRocku - 你可以'json.dumps'它,然後把它放到你的HTML/Javascript文件中,不知何故.... – mgilson

+0

哦哇,它的工作原理,有沒有可能在開始和結束時刪除[]我生成我的JavaScript對象? – iRocku