OK, but I believe you have another problem, in the statement db[table].insert(field=sh.cell_value(row,col))
field here is evaluated as 'field' not as the content of the field variable so you are setting a field named 'field' to the content of the cell, you would have to do: db[table].insert(** { field:sh.cell_value(row,col) } ) and similarly on the other insert. On Mar 19, 10:13 am, tandnk50 <dn.tan7...@gmail.com> wrote: > ok, I solved my problem :) , I missed a ) > thank you > > On 19 Tháng Ba, 20:51, tandnk50 <dn.tan7...@gmail.com> wrote: > > > ok, this is my action code. I want import data > > > def read_xls(): > > exec('import applications.%s.modules.xlrd as xlrd' % > > request.application) > > import os > > path=os.path.join > > (request.folder,'private','a_dummy_file_name.xls') > > book = xlrd.open_workbook(path) > > sh = book.sheet_by_index(0) > > table=request.vars['select'] > > students={} > > field=len(db[table].fields)-1 > > if (sh.ncols <> field): > > response.flash='select table again' > > redirect(URL(r=request,f='view_xls')) > > > for col,field in enumerate(db[table].fields): > > for row in range(sh.nrows): > > if (row==0): > > db[table].insert(field=sh.cell_value(row,col)) > > table_id[str(col)]=db[table].id > > continue > > db(db[table].id==table_id[str(col)] > > [table].insert(field=sh.cell_value(row,col)) > > students=db().select(db[table].ALL) > > > return dict(students=studens) > > > On 19 Tháng Ba, 20:47, DenesL <denes1...@yahoo.ca> wrote: > > > > Can you show the action's whole source?. > > > > On Mar 19, 9:38 am, tandnk50 <dn.tan7...@gmail.com> wrote: > > > > > I'm sorry . > > > > But my above code writeen in a action, the 'return dict()' is for the > > > > action > > > > > On 19 Tháng Ba, 20:34, DenesL <denes1...@yahoo.ca> wrote: > > > > > > return may only occur syntactically nested in a function definition, > > > > > you don't have one. > > > > > > On Mar 19, 9:06 am, tandnk50 <dn.tan7...@gmail.com> wrote:> I wrote > > > > > statements but invalid syntax and i don't know the problem, > > > > > > for example : > > > > > > def func(): > > > > > for i in range(3): > > > > > > > for j in range(2): > > > > > > if i>1 : > > > > > > print i > > > > > > else: > > > > > > print j > > > > > > return dict() (or any statement ( eg, print 'hello')..) > > > > > > > but invaliad syntax at return ... > > > > > > ?? > > > > > > how do i fix ? -- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web...@googlegroups.com. To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/web2py?hl=en.