Python中的cursor.fetchall()

时间:2015-11-30 11:19:23

标签: python sqlite

在使用cursor.fetchall()的变量中保存一些数据后,它看起来如下:

mylist = [('abc1',), ('abc2',)]这显然是一个清单。

这不是问题。

问题是以下情况不起作用:

if 'abc1' in mylist

找不到'abc1'。有没有办法让Python轻松完成,或者我必须使用循环吗?

2 个答案:

答案 0 :(得分:0)

fetchall()返回一个行列表,即包含行的列表。

每一行都是一个包含列值的元组。即使只有一列,也有一个元组。

要检查行是否在行列表中,您必须检查而不是单独检查列值:

if ('abc1',) in mylist

答案 1 :(得分:-1)

这是使用select *语句的问题。

而是使用select col1,col2 from table_name

下面的代码可能有帮助

sql = "select col1,col2,col3 from table_name"
cursor.execute(sql) # initialize cursor in your way
input_dict = dict( (row[0],(row[1],row[2])) for row in cursor.fetchall() )