2013-07-02 96 views
0

我搜索了文檔和SO,找不到任何東西來解決我的問題。我試圖從我的sqlite數據庫中調用一個選擇,並將其添加到字典的列作爲鍵。當我這樣做時,它會爲每個列/鍵返回一行。它有14列,如果我只有4行它重複每一個。這是第一次嘗試sqlite查詢到python字典

columns = [desc[0] for desc in cursor.description] 
results = [] 
for row in r: 
    Summary = {} 
    items = zip(columns, row) 
    for (items, values) in items: 
     Summary[items] = row 
     results.append(Summary) 

然後我也試過row_factory如在文檔中給出。這沒有用。我的最終目標是要能夠打印出到一個文本文件verticly使用

for x in results: 
    print x[name] 
    print x[email] 
    etc 

任何幫助表示讚賞

回答

2

你創建你的字典不正確。使用方法:

for row in r: 
    summary = dict(zip(columns, row)) 
    results.append(summary) 

改爲。

你的代碼將整個row序列中Summary每個鍵的值,而不是單獨的列值,則追加該相同字典的results列表每列鍵..

+0

謝謝!我知道這一定很簡單。我仍然是python的新手。我非常感謝你的幫助,這對我來說非常合適。 –