9

目前我有以下代码:

c.execute("SELECT * FROM table")
for row in c.fetchall():
    print row[0]
    print row[1]

但是,我更改了表的结构,现在我必须更改索引值以表示此更改。有没有办法代替使用列名?

4

2 回答 2

12

有关 sqlite3 模块,请参阅文档中的行对象。如果你使用sqlite3.Rowrow_factory 你会得到一个比普通元组稍微强大的对象。我想它的开销略高,因此不是默认行为。

于 2012-11-14T19:51:12.800 回答
12

因此,建议在执行以下操作时始终使用明确的列名SELECT

c.execute("SELECT color, fluffiness FROM table")
for row in c.fetchall():
    print row[0]         #  <-- is always guaranteed to be the color value
    print row[1]
于 2012-11-14T20:03:44.660 回答