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.

Reply via email to