2013-08-28 19 views
2

我搞不​​清楚我做錯了什麼。有人可以幫忙嗎? 當我運行下面的語句:爲什麼我在python slqlite SELECT結果中獲得額外的逗號?

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

(self.srchfilepath.displayText()僅僅是在GUI中的字段)

結果我得到的是:

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

實際數據是正確的,它只是一種我不明白的格式。

我不知道在parens裏多餘的逗號來自哪裏。我試圖將這些數據放回到列表框中以供顯示和選擇,但我需要一個列表,該列表將接受該字段。顯然這不是它想要的。任何人都可以告訴我我做錯了什麼,以及如何讓結果變成Listbox將接受的內容?

回答

5

您檢索了行的列表,每一行都是一個列元組。由於每行僅包含一個列,因此這些行是具有的元組,每個行包含個值。

在Python中,它是逗號,使表達一個元組,即使只有一個元素:

>>> 1, 
(1,) 

只需選擇每一行的第一個元素:

result_list = [row[0] for row in cur.fetchall()] 
相關問題