2013-03-04 33 views
1

我想知道是否有編程方式從sqlite3表中選擇並獲得結果集而沒有標題。我發現了幾個相關的問題herehere,通過調用.headers OFF來解決問題,但是這個選項似乎只適用於命令行sqlite客戶端。作爲參考,這裏是我的Python查詢代碼(少一些異常處理):從沒有標題的sqlite中選擇

con = lite.connect('my_db.sqlite') 
sql = 'SELECT * FROM some_table' 
cur = execute(sql, con) 
rows = cur.fetchall() 

rows值就變成

[ 
    (100, 102460, 18994), 
    (200, 102460, 13056), 
    (300, 102460, 10784), 
    (400, 102460, 9153), 
    (u'sample_size', u'total_tok', u'unknown_tok_mean') 
] 

注意最後一個項目是如何是sqlite的返回的頭。這隻會不時出現(當返回很多行時往往會出現在那裏)。我需要一種方法來控制標題是否返回 - 無論哪種方式都很好,只要結果是一致的

+0

你可以請張貼作爲答案,我可以接受嗎? – mbatchkarov 2013-03-04 12:52:56

+0

你走了,看下面。 – 2013-03-04 13:26:41

回答

3

不,最後一行是從表中返回的數據。選擇決不會在行數據中包含列標題。

那個信息可用,但作爲.description屬性的遊標,從來沒有在.fetchall()的結果。

換句話說,其他的東西將數據插入到表中,而SELECT僅僅返回該信息。

命令行客戶端執行的操作是格式化結果,如果進行了這種配置,它將添加標頭信息,但這不屬於SELECT語句本身的一部分。