Do I need to rewrite this "export_csv" function completely ? or Can I just add import csv and set QUOTE_ALL ?
Controller -------------------------- def export_csv(): import gluon.contenttype response.headers['Content-Type'] = \ gluon.contenttype.contenttype('.csv') db = request.args[0] query = 'db.IQWAGFTY.TYPRCD!=""' response.headers['Content-disposition'] = 'attachment; filename=IQWAGFTY.csv' return str(db(query,ignore_common_filters=True).select()) On Feb 3, 4:36 pm, Anthony <abasta...@gmail.com> wrote: > On Friday, February 3, 2012 4:03:47 PM UTC-5, Omi Chiba wrote: > > > Oh my god, it worked again!! > > > >I also want to export the csv file with " " for characters. > > Do you know if we can do this ? I want do quotechar='"' just like the > > following link. > > >http://www.web2py.com/books/default/chapter/29/6?search=csv#Data-repr... > > I think the default is to use double quotes, but you have to set the > "quoting" arg to tell it what to quote -- > seehttp://docs.python.org/release/3.1.3/library/csv.html#module-contents > for details. It defaults to csv.QUOTE_MINIMAL, which only quotes values > that require quoting because they contain special characters. If you want > to quote everything, use quoting=csv.QUOTE_ALL (be sure to import csv > first). > > Anthony > > > > > > > > > > > On Feb 3, 2:54 pm, Anthony <abasta...@gmail.com> wrote: > > > Take your query out of quotes -- a query has to be a DAL Query object, > > but > > > you have simply passed in a string. > > > > Anthony > > > > On Friday, February 3, 2012 3:31:23 PM UTC-5, Omi Chiba wrote: > > > > > I want to export the specific table data to csv. I tried the code > > > > after appadmin but I got a "TypeError: 'str' object is not callable" > > > > error. Can you guys help ? > > > > > I also want to export the csv file with " " for characters. > > > > > Model > > > > ---------------------- > > > > db.define_table('IQWAGFTY', > > > > Field('TYPRCD', length=15), > > > > Field('TYPRKJ', length=50), > > > > Field('TYTYPE', length=2), > > > > primarykey=['TYPRCD']) > > > > > Controller > > > > -------------------------- > > > > def export_csv(): > > > > import gluon.contenttype > > > > response.headers['Content-Type'] = \ > > > > gluon.contenttype.contenttype('.csv') > > > > db = request.args[0] > > > > query = 'db.IQWAGFTY.TYPRCD!=""' > > > > response.headers['Content-disposition'] = 'attachment; > > > > filename=IQWAGFTY.csv' > > > > return str(db(query,ignore_common_filters=True).select()) > > > > > def index(): > > > > if request.vars.csvfile != None: > > > > import_csv(db[request.vars.table],request.vars.csvfile.file) > > > > response.flash = T('data uploaded') > > > > return dict() > > > > > View - default/index > > > > ------------------------------ > > > > {{left_sidebar_enabled=right_sidebar_enabled=False}} > > > > {{extend 'layout.html'}} > > > > > <h3>Step 1. Download file</h3> > > > > [ <a href="{{=URL('export_csv',args='db.IQWAGFTY')}}">{{="export as > > > > csv file"}}</a> ] > > > > > Traceback > > > > ------------------------------ > > > > Traceback (most recent call last): > > > > File "C:\web2py\gluon\restricted.py", line 204, in restricted > > > > exec ccode in environment > > > > File "C:/web2py/applications/Inventory_Reserve_Admin/controllers/ > > > > default.py", line 82, in <module> > > > > File "C:\web2py\gluon\globals.py", line 172, in <lambda> > > > > self._caller = lambda f: f() > > > > File "C:/web2py/applications/Inventory_Reserve_Admin/controllers/ > > > > default.py", line 22, in export_csv > > > > return str(db(query,ignore_common_filters=True).select()) > > > > TypeError: 'str' object is not callable