Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #64766

Re: Can't get sqlite3.Row working: keyword lookup doesn't work

From Peter Otten <__peter__@web.de>
Subject Re: Can't get sqlite3.Row working: keyword lookup doesn't work
Date 2014-01-26 09:05 +0100
Organization None
References <52e46bf3$0$2378$426a34cc@news.free.fr>
Newsgroups comp.lang.python
Message-ID <mailman.5990.1390723532.18130.python-list@python.org> (permalink)

Show all headers | View raw


lgabiot wrote:

> using Python 2.7.6
> 
> I try to access a sqlite database using keyword lookup instead of
> position (much more easy to maintain code), but it always fail, with the
> error:
> Index must be int or string
> 
> I have created the database, populated it, and here is the code that
> tries to retrieve the information:
> 
> with sqlite3.connect(mydbPath) as db: # open the database
>      db.row_factory = sqlite3.Row
>      cursor = db.cursor()
>      cursor.execute("SELECT * FROM files")
> 
>      for row in cursor.fetchall():
>          print(row.keys())
>          print(row["filename"])
> 
> 
> result is:
> 
> ['filename', 'filepath', 'filetag', 'PROJECT', 'SCENE', 'TAKE', 'TAPE',
[...]
> 'is_cantar', 'is_sound_devices', 'exist']
> 
> error =>  Index must be int or string

Please remember to cut and past the traceback next time.

> What is wrong?

My crystal ball says that you have a

from __future__ import unicode_literals

statement at the beginning of the module. If I'm right try

row[b"filename"]

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Can't get sqlite3.Row working: keyword lookup doesn't work lgabiot <lgabiot@hotmail.com> - 2014-01-26 02:59 +0100
  Re: Can't get sqlite3.Row working: keyword lookup doesn't work Peter Otten <__peter__@web.de> - 2014-01-26 09:05 +0100
    Re: Can't get sqlite3.Row working: keyword lookup doesn't work lgabiot <lgabiot@hotmail.com> - 2014-01-26 15:29 +0100
    Re: Can't get sqlite3.Row working: keyword lookup doesn't work lgabiot <laurent.gabiot@gmail.com> - 2014-01-26 15:29 +0100

csiph-web