我会开始说我是Python的新手,所以也许这是一个很棘手的问题,
我有3行的数据库,我想将它们循环到字典中,但我只能得到一个
网站上显示的行,因此每次循环时都会被覆盖。
from dbConnect import connect
c, conn = connect()
ranks = c.execute("SELECT * FROM ranks ORDER BY rankid ASC;")
ranks = c.fetchall()
def ranksddl():
rank_dict = {}
for rank in ranks:
rank_dict[rank] = rank[2]
return rank_dict
最佳答案
你应该有:
ranks = ranks.fetchall()
并不是
ranks = c.fetchall()
获取所有结果,因为查询结果存储在第一个
ranks
变量中。因此,如果您想一次性获得所有结果,则应在该变量而不是光标上使用fetchall()
方法。