ExecuteSQL to csv

18 views
Skip to first unread message

Fredy Gonzales

unread,
Oct 6, 2014, 11:40:00 AM10/6/14
to web2py-...@googlegroups.com
Hola amigos,

Tengo una vista en Mysql y la necesito exportar un archivo csv.

La intencion fue usar esta sentencia.

      s = cStringIO.StringIO()
      db.executesql('SELECT * FROM vwcuponenblanco').export_to_csv_file(s,delimiter='|',quoting=csv.QUOTE_ALL, represent=True)

Pero me sale este error


   AttributeError: 'tuple' object has no attribute 'export_to_csv_file'


lo podria realizar manualmente, pero me da problemas con los acentos, pero con la funcion export_to_csv pasa perfecto.

Si estoy haciendo algo mal, solo digan para testear.

Saludos.

Fredy Gonzales P.

Daniel Aguayo

unread,
Oct 6, 2014, 8:14:58 PM10/6/14
to web2py-...@googlegroups.com
Hola,

"executesql" efectivamente retorna una tupla por defecto (a menos que agregues dict=True, pero no viene al caso) y ésta no tiene el método "export_to_csv_file". Para poder usar dicho método debes decirle a DAL acerca de la vista, definiéndola como objeto DAL con migrate=False.

Por ejemplo:

db.define_table('vwcuponenblanco',
                        campos...,
                        migrate=False)

sólo luego de que el DAL conozca el modelo, podrías acceder a db.vwcuponenblanco.export_as_csv_file(...)


saludos
--
Has recibido este mensaje porque estás suscrito al grupo "web2py-usuarios" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a web2py-usuari...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

samuel bonill

unread,
Oct 7, 2014, 11:45:38 AM10/7/14
to web2py-...@googlegroups.com

En admin-plus esta funcionalidad viene por defecto, te facilitara mucho el proceso  https://github.com/pyner/admin_plus

Reply all
Reply to author
Forward
0 new messages