为什么我的python sqlite SELECT结果中有额外的逗号?

时间:2013-08-28 18:38:26

标签: python select sqlite

我无法弄清楚我做错了什么。有人可以帮忙吗? 当我运行以下语句时:

cur.execute("SELECT created FROM datafiles where path = '%s'" % self.srchfilepath.displayText()
list = cur.fetchall()

(self.srchfilepath.displayText()只是GUI上的一个字段)

我得到的结果是:

[('testing',), ('testing',)]

实际数据是正确的,它只是我不理解的格式。

我无法弄清楚parens中的额外逗号来自哪里。我试图将这些数据放回到列表框字段中以供显示和选择,但我需要一个该字段将接受的列表。显然这不是它想要的。谁能告诉我我做错了什么以及如何将结果变成Listbox会接受的内容?

1 个答案:

答案 0 :(得分:9)

您检索了的列表,每行都是列的元组。由于每行仅包含一个列,因此每行都是一个值的元组。

在python中,即使只有一个元素,逗号也会使表达式成为一个元组:

>>> 1,
(1,)

只需选择每行的第一个元素:

result_list = [row[0] for row in cur.fetchall()]