In fact, this is an open issue
<https://github.com/web2py/web2py/issues/2015> for the same problem. You
can check that as well

On Mon, Feb 11, 2019 at 11:27 PM sandeep patel <patelsandeep...@gmail.com>
wrote:

> I had the same issue. I have solved this way.
> Please try this
> You have to changing line 926 of gluon/packages/dal/pydal/objects.py from
> reader = csv.reader(csvfile, delimiter=delimiter,
> quotechar=quotechar, quoting=quoting)
> to
> reader = csv.reader(codecs.iterdecode(csvfile,'utf-8'),
> delimiter=delimiter,
> quotechar=quotechar, quoting=quoting)
>
> After changes done, you have to execute the  web2py.py
>
> Thanks
> SP
>
> On Mon, Feb 11, 2019 at 11:04 PM Maurice Waka <mauricew...@gmail.com>
> wrote:
>
>> I shifted to web2py/python3. In python2.7 I was able to upload csv files
>> but using the same code below I get an error.
>> For example:
>> def import_csv():
>>     form = FORM(INPUT(_type = 'file', _name = 'csv_file'),
>>              INPUT(_type = 'submit', _value = T('Import')))
>>     return dict(form=form)
>> @mobilize
>> @auth.requires_login()
>> def index1():
>>     if request.vars.csvfile != None:
>>         # set values
>>         table = db[request.vars.table]
>>         file = request.vars.csvfile.file
>>         # import csv file
>>         table.import_from_csv_file(file)
>>         # update who imported
>>         query = db.food_data.protein==""
>>         db(query).update(protein="")
>>         response.flash = 'Data uploaded'
>>     return dict()
>>
>> The error is this
>>
>> 1.
>> 2.
>> 3.
>> 4.
>> 5.
>> 6.
>> 7.
>> 8.
>> 9.
>> 10.
>> 11.
>> 12.
>> 13.
>> 14.
>> 15.
>> 16.
>>
>> Traceback (most recent call last):
>>   File "/home/mauricewaka/web2py/gluon/restricted.py", line 219, in 
>> restricted
>>     exec(ccode, environment)
>>   File 
>> "/home/mauricewaka/web2py/applications/Hestque_Wellness/controllers/default.py"
>>  
>> <http://127.0.0.1:8000/admin/default/edit/Hestque_Wellness/controllers/default.py>,
>>  line 479, in <module>
>>   File "/home/mauricewaka/web2py/gluon/globals.py", line 421, in <lambda>
>>     self._caller = lambda f: f()
>>   File "/home/mauricewaka/web2py/gluon/contrib/user_agent_parser.py", line 
>> 695, in __call__
>>     return self.func()
>>   File "/home/mauricewaka/web2py/gluon/tools.py", line 3867, in f
>>     return action(*a, **b)
>>   File 
>> "/home/mauricewaka/web2py/applications/Hestque_Wellness/controllers/default.py"
>>  
>> <http://127.0.0.1:8000/admin/default/edit/Hestque_Wellness/controllers/default.py>,
>>  line 329, in index1
>>     table.import_from_csv_file(file)
>>   File "/home/mauricewaka/web2py/gluon/packages/dal/pydal/objects.py", line 
>> 980, in import_from_csv_file
>>     for lineno, line in enumerate(reader):
>> _csv.Error: iterator should return strings, not bytes (did you open the file 
>> in text mode?)
>>
>> How can I solve this
>>
>> --
>> Resources:
>> - http://web2py.com
>> - http://web2py.com/book (Documentation)
>> - http://github.com/web2py/web2py (Source code)
>> - https://code.google.com/p/web2py/issues/list (Report Issues)
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "web2py-users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to web2py+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to