用法:
row_factory
您可以将此属性更改为接受游标和原始行作为元组的可调用对象,并将返回实际结果行。这样,您可以实现更高级的返回结果的方式,例如返回一个也可以按名称访问列的对象。
例子:
import sqlite3 def dict_factory(cursor, row): d = {} for idx, col in enumerate(cursor.description): d[col[0]] = row[idx] return d con = sqlite3.connect(":memory:") con.row_factory = dict_factory cur = con.cursor() cur.execute("select 1 as a") print(cur.fetchone()["a"]) con.close()
如果返回元组还不够,并且您希望基于名称访问列,则应考虑将
row_factory
设置为 highly-optimizedsqlite3.Row
类型。Row
提供对列的基于索引和不区分大小写的基于名称的访问,几乎没有内存开销。它可能比您自己的基于字典的自定义方法甚至基于db_row 的解决方案更好。
相关用法
- Python sqlite3.Connection.text_factory用法及代码示例
- Python sqlite3.Connection.enable_load_extension用法及代码示例
- Python sqlite3.Connection.iterdump用法及代码示例
- Python sqlite3.Connection.create_collation用法及代码示例
- Python sqlite3.Connection.create_function用法及代码示例
- Python sqlite3.Connection.create_aggregate用法及代码示例
- Python sqlite3.Connection.backup用法及代码示例
- Python sqlite3.Cursor.executescript用法及代码示例
- Python sqlite3.Cursor.connection用法及代码示例
- Python sqlite3.Cursor.executemany用法及代码示例
- Python sqlite3.threadsafety用法及代码示例
- Python sqlite3.complete_statement用法及代码示例
- Python sqlite3.connect用法及代码示例
- Python math sqrt()用法及代码示例
- Python sklearn.cluster.MiniBatchKMeans用法及代码示例
- Python scipy.ndimage.binary_opening用法及代码示例
- Python scipy.signal.windows.tukey用法及代码示例
- Python scipy.stats.mood用法及代码示例
- Python str.isidentifier用法及代码示例
- Python sklearn.metrics.fbeta_score用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 sqlite3.Connection.row_factory。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。