我正在尝试将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
答案 0 :(得分:1)
如果您想从结果中获得纯粹的dict,那么请执行以下操作:
dbdict = dict(zip(row.keys(), row))
这也有一个优点,row.keys()
将对应于SELECT语句中的列。请注意,它确实需要使用sqlite3.Row
行工厂。