Python - 如何将sqlite结果放入列表中

时间:2013-11-16 19:48:11

标签: python arrays list sqlite

我正在尝试将sqlite结果放入列表中以供进一步使用,但我得到一个TypeError:一个整数是必需的错误,我不能只做一个数组ID = 1和flowpump = on等等上?在PHP中这是一个简单的任务,但在python我似乎无法使它工作:(我在第一个插入行中得到错误:dbarray.insert('id',row ['id'])

conn = sqlite3.connect("/mnt/ramdisk/heatcontroldb.db")
conn.row_factory = sqlite3.Row

curs = conn.cursor()
curs.execute("SELECT id, timeout, time, setby, vvbvalve, vvbflowvalve, flowpump, vvbsettemp, sunflowsettemp from status where id = 1")
for row in curs:
    print row['id']
    dbarray.insert('id',row['id'])
    dbarray.insert('timeout',row['timeout'])
    dbarray.insert('time',row['time'])
    dbarray.insert('setby',row['setby'])
    dbarray.insert('vvbvalve',row['vvbvalve'])
    dbarray.insert('vvbflowvalve',row['vvbflowvalve'])
    dbarray.insert('flowpump',row['flowpump'])
    dbarray.insert('vvbsettemp',row['vvbsettemp'])
    dbarray.insert('sunflowsettemp',row['sunflowsettemp'])

任何人都可以帮助python newbe吗? :)

亲切的问候 的Morten

1 个答案:

答案 0 :(得分:1)

如果您想从结果中获得纯粹的dict,那么请执行以下操作:

dbdict = dict(zip(row.keys(), row))

这也有一个优点,row.keys()将对应于SELECT语句中的列。请注意,它确实需要使用sqlite3.Row行工厂。