4

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

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

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

我得到的结果是:

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

实际数据是正确的,只是格式我看不懂。

我不知道括号中多余的逗号是从哪里来的。我正在尝试将此数据放回列表框字段以供显示和选择,但我需要该字段将接受的列表。显然这不是它想要的。谁能告诉我我做错了什么以及如何将结果变成Listbox遗嘱接受的东西?

4

1 回答 1

15

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

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

>>> 1,
(1,)

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

result_list = [row[0] for row in cur.fetchall()]
于 2013-08-28T18:39:53.890 回答