Python、MySQL及获取映射的游标

4 投票
1 回答
9857 浏览
提问于 2025-04-17 08:57

在对MySQL数据库执行查询语句后,我进行了以下操作:

rows = cursor.fetchall()

这会返回一个数组的数组。我想要的是一个字典的数组,每个字典的键来自我表中请求的列名,而值则来自表中的数据。

我该怎么做呢?

1 个回答

15

嗯,你忘了提到你用的是哪个mysql库。

  • 如果你使用的是oursql(我推荐这个,它绝对是最好的),那么就用oursql的DictCursor。示例:

    conn = oursql.connect(...)
    curs = conn.cursor(oursql.DictCursor)
    
  • 如果你使用的是MySQLdb(为什么要用这个呢?)那么就用MySQLdb的DictCursor。示例:

    conn = MySQLdb.connect(..., cursorclass=MySQLdb.cursors.DictCursor) 
    curs = conn.cursor() 
    

这样做会给你一个游标,它会为每一行返回字典。记得在你的查询中不要有重复的行名哦。

撰写回答