2015-01-09 49 views
1

比方說,我拉數據的20列100行的數據庫表:引用SQL結果來構建Python列表的最佳實踐?

result = cursor.fetchall() 

現在我想建立一個基於在該數據部分(某些列將映射一個新的表(二維表) ,一些改變)。易出錯的方法是從結果列表,請參閱適用的指標:

newTable = [] 
for row in result: 
    newTable.append(row[5], row[4], 0, some_function(row[1]), ...) 

什麼是跟蹤result所以我們不只是指的位置編號在append語句中的列的最佳方式,如果我們更改數據庫查詢中提取的列數,哪一個都必須更新?

+0

你可能想[獲取該行的結果作爲字典(http://stackoverflow.com/questions/4147707 /蟒-MySQLdb的-源碼-結果-AS-字典)。 – 2015-01-09 20:14:11

+0

謝謝你找到這個類似的問題 – Eric 2015-01-09 21:27:51

回答

0

我想你想創建一個排工廠

import sqlite3 

con = sqlite3.connect(":memory:") 
con.row_factory = sqlite3.Row 


cursor = con.execute("SELECT * FROM SOME_TABLE") 
for row in cursor: 
    print row["field_name"] 

至少我覺得