2014-01-22 2 views
0

Я довольно новичок в Python, но ранее проделал определенную работу с базами данных и кодом SQL. Мне интересно, если/как можно заполнить словарь Python значениями указанной таблицы sqlite. Я хотел бы создать словарь, в котором идентификатор клиентов и фабрик формирует строку, а расстояние используется как ключ для словаря (т. Е. dictionary(1,1):20).Заполнять словарь Python из базы данных sqlite

Вот то, что я до сих пор:

import sqlite3 as lite 
import sys 

con = lite.connect('transport.sqlite') 

with con: 
    cur = con.cursor()  

dictionary = {} 
cur.execute('SELECT idcustomer, idfactory, distance FROM distance') 
result = cur.fetchall() 

for idcustomer, idfactory, distance ... 

con.close() 

print dictionary 

Любая помощь высоко ценится.

ответ

0

Простой способ построения словаря, используя расстояние в качестве ключа, т.е. 20 => «CUSTID: FACTID» является:

dictionary = {} 
cur.execute('select idcustomer,idfactory,distance from distance') 
result = cur.fetchall() 
for idcustomer, idfactory, distance in result: 
    dictionary[distance] = "{}:{}".format(idcustomer, idfactory) 
+0

Большое спасибо, но я получаю ошибку синтаксиса в строке для idcustomer, idfactory, distance: ". Разве я бы не нуждался в" in ", чтобы указать, до какой точки цикл должен продолжать работать? – user3222343

+0

@ user3222343 Я думаю, что это был оператор for. Можете ли вы попробовать отредактированный код выше? – arocks

+0

Я пришел к такому же выводу, и теперь он работает гладко! Большое спасибо – user3222343

Смежные вопросы