Re: [cx-oracle-users] Results as dict
Brought to you by:
atuining
From: Anthony T. <ant...@gm...> - 2006-11-08 15:54:19
|
On 11/8/06, Christian Klinger <ckl...@no...> wrote: > Anthony Tuininga schrieb: > > On 11/8/06, Christian Klinger <ckl...@no...> wrote: > >> Amaury Forgeot d'Arc schrieb: > >>> Christian Klinger wrote: > >>>> Hello cx_oracle users, > >>>> > >>>> who knows a simple way to get results from a fetchall as dict=B4s in= stead > >>>> of lists?? > >>> You may use the cursor.description to get the column names. Something= like: > >>> > >>> data =3D cur.fetchall() > >>> desc =3D cur.description > >>> dict_data =3D [dict((col[0], value) for col, value in zip(desc, row)) > >>> for row in data] > >>> > >>> Hope this helps, > >>> > >> Helps perfect, > >> > >> btw other database-modules have out of the box solutions for this > >> (mysql,informix) > > > > How do they go about this? Is that all they do or is there some switch > > or some different method call that they make? > > > > They define a additional CursorClass for this > db1 =3D > MySQLdb.connect(user =3D "username", passwd=3D"password", host=3D "host",= db > > =3D "database", cursorclass=3DMySQLdb.cursors.DictCursor) Ah, I see. You can do the same thing with cx_Oracle (create a subclassed cursor that returns rows as dictionaries) quite easily. Its simply not "out of the box" as you say. There is an implicit performance penalty involved (dictionaries cost a great deal more to build than tuples do relatively speaking) so I've tended to avoid such techniques. My personal preference for when performance is not an issue is to return objects with attributes defined for each of the columns. Both of these techniques are possible to use without any help from any module author and should be available globally as a recipe or some such. Would there be appreciation for including such things as part of documentation or sample files? > http://dustman.net/andy/python/MySQLdb_obsolete/doc/MySQLdb-4.html#usage > > > > >> thx a lot > >> > >> christian > >> > >> > >> ----------------------------------------------------------------------= --- > >> Using Tomcat but need to do more? Need to support web services, securi= ty? > >> Get stuff done quickly with pre-integrated technology to make your job= easier > >> Download IBM WebSphere Application Server v.1.0.1 based on Apache Gero= nimo > >> http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&da= t=3D121642 > >> _______________________________________________ > >> cx-oracle-users mailing list > >> cx-...@li... > >> https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > >> > > > > -----------------------------------------------------------------------= -- > > Using Tomcat but need to do more? Need to support web services, securit= y? > > Get stuff done quickly with pre-integrated technology to make your job = easier > > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geron= imo > > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat= =3D121642 > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job ea= sier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronim= o > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat= =3D121642 > _______________________________________________ > cx-oracle-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > |