您可以覆盖游标的rowfactory
方法。每次执行查询时,都需要执行此操作。
curs.execute('select * from foo') curs.fetchone() (33, 'blue')
@H_404_9@def makeNamedTupleFactory(cursor): columnNames = [d[0].lower() for d in cursor.description] import collections Row = collections.namedtuple('Row', columnNames) return Row curs.rowfactory = makeNamedTupleFactory(curs) curs.fetchone() Row(x=33, y='blue')
@H_404_9@返回字典:
def makeDictFactory(cursor): columnNames = [d[0] for d in cursor.description] def createRow(*args): return dict(zip(columnNames, args)) return createRow curs.rowfactory = makeDictFactory(curs) curs.fetchone() {'Y': 'brown', 'X': 1}
@H_404_9@感谢Amaury Forgeot d’Arc:http: //sourceforge.net/p/cx- oracle/mailman/message/27145597
解决方法
默认情况下,cx_Oracle将每行作为一个元组返回。
>>> import cx_Oracle >>> conn=cx_Oracle.connect('scott/tiger') >>> curs=conn.cursor() >>> curs.execute("select * from foo"); >>> curs.fetchone() (33,'blue')
如何将每一行作为字典返回?
def makeNamedTupleFactory(cursor): columnNames = [d[0].lower() for d in cursor.description] import collections Row = collections.namedtuple('Row', columnNames) return Row curs.rowfactory = makeNamedTupleFactory(curs) curs.fetchone() Row(x=33, y='blue')
@H_404_9@返回字典:
def makeDictFactory(cursor): columnNames = [d[0] for d in cursor.description] def createRow(*args): return dict(zip(columnNames, args)) return createRow curs.rowfactory = makeDictFactory(curs) curs.fetchone() {'Y': 'brown', 'X': 1}
@H_404_9@感谢Amaury Forgeot d’Arc:http: //sourceforge.net/p/cx- oracle/mailman/message/27145597
解决方法
默认情况下,cx_Oracle将每行作为一个元组返回。
>>> import cx_Oracle >>> conn=cx_Oracle.connect('scott/tiger') >>> curs=conn.cursor() >>> curs.execute("select * from foo"); >>> curs.fetchone() (33,'blue')
如何将每一行作为字典返回?
def makeDictFactory(cursor): columnNames = [d[0] for d in cursor.description] def createRow(*args): return dict(zip(columnNames, args)) return createRow curs.rowfactory = makeDictFactory(curs) curs.fetchone() {'Y': 'brown', 'X': 1}
@H_404_9@感谢Amaury Forgeot d’Arc:http: //sourceforge.net/p/cx- oracle/mailman/message/27145597
解决方法
默认情况下,cx_Oracle将每行作为一个元组返回。
>>> import cx_Oracle >>> conn=cx_Oracle.connect('scott/tiger') >>> curs=conn.cursor() >>> curs.execute("select * from foo"); >>> curs.fetchone() (33,'blue')
如何将每一行作为字典返回?
>>> import cx_Oracle
>>> conn=cx_Oracle.connect('scott/tiger')
>>> curs=conn.cursor()
>>> curs.execute("select * from foo");
>>> curs.fetchone()
(33,'blue')
返回字典:
感谢Amaury Forgeot d’Arc:http: //sourceforge.net/p/cx- oracle/mailman/message/27145597
默认情况下,cx_Oracle将每行作为一个元组返回。
如何将每一行作为字典返回?
def makeNamedTupleFactory(cursor): columnNames = [d[0].lower() for d in cursor.description] import collections Row = collections.namedtuple('Row', columnNames) return Row curs.rowfactory = makeNamedTupleFactory(curs) curs.fetchone() Row(x=33, y='blue')
@H_404_9@返回字典:
def makeDictFactory(cursor): columnNames = [d[0] for d in cursor.description] def createRow(*args): return dict(zip(columnNames, args)) return createRow curs.rowfactory = makeDictFactory(curs) curs.fetchone() {'Y': 'brown', 'X': 1}
@H_404_9@感谢Amaury Forgeot d’Arc:http: //sourceforge.net/p/cx- oracle/mailman/message/27145597
解决方法
默认情况下,cx_Oracle将每行作为一个元组返回。
>>> import cx_Oracle >>> conn=cx_Oracle.connect('scott/tiger') >>> curs=conn.cursor() >>> curs.execute("select * from foo"); >>> curs.fetchone() (33,'blue')
如何将每一行作为字典返回?
def makeDictFactory(cursor): columnNames = [d[0] for d in cursor.description] def createRow(*args): return dict(zip(columnNames, args)) return createRow curs.rowfactory = makeDictFactory(curs) curs.fetchone() {'Y': 'brown', 'X': 1}
@H_404_9@感谢Amaury Forgeot d’Arc:http: //sourceforge.net/p/cx- oracle/mailman/message/27145597
解决方法
默认情况下,cx_Oracle将每行作为一个元组返回。
>>> import cx_Oracle >>> conn=cx_Oracle.connect('scott/tiger') >>> curs=conn.cursor() >>> curs.execute("select * from foo"); >>> curs.fetchone() (33,'blue')
如何将每一行作为字典返回?
>>> import cx_Oracle
>>> conn=cx_Oracle.connect('scott/tiger')
>>> curs=conn.cursor()
>>> curs.execute("select * from foo");
>>> curs.fetchone()
(33,'blue')
返回字典:
感谢Amaury Forgeot d’Arc:http: //sourceforge.net/p/cx- oracle/mailman/message/27145597
默认情况下,cx_Oracle将每行作为一个元组返回。
如何将每一行作为字典返回?
返回字典:
def makeDictFactory(cursor): columnNames = [d[0] for d in cursor.description] def createRow(*args): return dict(zip(columnNames, args)) return createRow curs.rowfactory = makeDictFactory(curs) curs.fetchone() {'Y': 'brown', 'X': 1}
@H_404_9@感谢Amaury Forgeot d’Arc:http: //sourceforge.net/p/cx- oracle/mailman/message/27145597
解决方法
默认情况下,cx_Oracle将每行作为一个元组返回。
>>> import cx_Oracle >>> conn=cx_Oracle.connect('scott/tiger') >>> curs=conn.cursor() >>> curs.execute("select * from foo"); >>> curs.fetchone() (33,'blue')
如何将每一行作为字典返回?
>>> import cx_Oracle
>>> conn=cx_Oracle.connect('scott/tiger')
>>> curs=conn.cursor()
>>> curs.execute("select * from foo");
>>> curs.fetchone()
(33,'blue')
感谢Amaury Forgeot d’Arc:http: //sourceforge.net/p/cx- oracle/mailman/message/27145597
默认情况下,cx_Oracle将每行作为一个元组返回。
如何将每一行作为字典返回?
感谢Amaury Forgeot d’Arc:http: //sourceforge.net/p/cx- oracle/mailman/message/27145597