我会开始说我是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()方法。

10-05 22:34