我创建了一个小型数据库,我希望从每个字段中提取每个项目! 简单地说,我希望能够在UI(Ot.Gui)中显示项目,我能想到的唯一方法是将项目分配给1到1的变量。 第1行,第1行到最后一行的最后一行值。
目前,我正在使用
import sqlite3 as lite
con = lite.connect('Bestellung.db')
with con:
con.row_factory = lite.Row
cur = con.cursor()
cur.execute("SELECT * FROM Bestellung")
rows = cur.fetchall()
for row in rows:
print "%s %s %s" % (row["Id"], row["ArtikelNr"], row["Beschreibung"])
从数据库中提取并打印所有信息:(仅6个值atm)
1 a1 b1
2 a2 b2
但现在我想创建一个自动为每个项创建变量的函数或模块。这样:
Row 1, Value 1 = Row1Val1
Row 1, Value 2 - Row1Val1
...
然后我可以使用它来设置TextLabels。
除非你有更简单的方法来解决我的问题。
提前感谢
答案 0 :(得分:0)
看看namedtuple,他们非常适合这类任务。
答案 1 :(得分:0)
我不确定我是否理解你的问题。是否要动态迭代列而不明确指定列名(这就是我所理解的)。如果是,那么这应该可以帮到你:
with lite.connect('bestellung.db') as con:
con.row_factory = lite.Row
cur = con.cursor()
cur.execute("SELECT * FROM Bestellung")
rows = cur.fetchall()
rowcount = 1
for row in rows:
colcount = 1
for key in row.keys():
value = row[key]
print "Row %d, Value %d = %s" % (rowcount, colcount, value)
colcount += 1
rowcount += 1
如果没有,那就没关系,我会删除这个答案。