2015-01-09 53 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"] 

至少我觉得