您可以使用row_factory,如docs中的示例所示:
import sqlite3def dict_factory(cursor, row): d = {} for idx, col in enumerate(cursor.description): d[col[0]] = row[idx] return dcon = sqlite3.connect(":memory:")con.row_factory = dict_factorycur = con.cursor()cur.execute("select 1 as a")print cur.fetchone()["a"]
或按照文档中此示例之后给出的建议进行 *** 作:
如果返回一个元组还不够,并且您希望基于名称的列访问,则应考虑将row_factory设置为高度优化的sqlite3.Row类型。Row提供对列的基于索引和不区分大小写的基于名称的访问,几乎没有内存开销。它可能会比您自己的基于字典的自定义方法甚至基于db_row的解决方案都要好。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)