假设我从100行的数据库表中提取了20列数据:
result = cursor.fetchall()
现在我想部分基于这些数据构建一个新表(2维列表)(一些列将被映射,一些列将被转换)。容易出错的方法是从结果列表中引用适用的索引:
newTable = []
for row in result:
newTable.append(row[5], row[4], 0, some_function(row[1]), ...)
跟踪result
列的最佳方式是什么?所以我们不仅仅是指append
语句中的位置编号,如果需要更新我们更改数据库查询中提取的列数?
答案 0 :(得分: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"]
至少我认为