python oracle 查询返回字典
时间:2018-05-17 18:21:24
收藏:0
阅读:1911
from: https://sourceforge.net/p/cx-oracle/mailman/message/27145597/
I‘d do it with a "row factory", here are two examples, one which builds a dictionary, the other one builds a "named tuple" and is very similar to sqlite3.Row.
def makeDictFactory(cursor): columnNames = [d[0] for d in cursor.description] def createRow(*args): return dict(zip(columnNames, args)) return createRow def makeNamedTupleFactory(cursor): columnNames = [d[0].lower() for d in cursor.description] import collections Row = collections.namedtuple(‘Row‘, columnNames) return Row
Then, just after the cs.execute() call, you can add:
cs.rowfactory = makeDictFactory(cs) # or cs.rowfactory = makeNamedTupleFactory(cs)
--
#Amaury Forgeot d‘Arc
评论(0)