首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用MySql数据库在Python中使用列名检索SQL结果列值?

如何使用MySql数据库在Python中使用列名检索SQL结果列值?
EN

Stack Overflow用户
提问于 2016-05-01 14:07:24
回答 2查看 2K关注 0票数 0

是否有一种方法可以使用列名而不是Python中的列索引来检索SQL结果列值?

代码语言:javascript
运行
复制
result = `select name, deptname from employee;`

我试过一次:

代码语言:javascript
运行
复制
cursor = conn.cursor(MySQLdb.cursors.DictCursor)
cursor.execute("SELECT name, category FROM animal")
result_set = cursor.fetchall()
for row in result_set:
    print "%s, %s" % (row["name"], row["deptname"])

这里我有个错误,比如:

代码语言:javascript
运行
复制
TypeError: tuple indices must be integers, not str

有什么帮助会很棒吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-01 14:14:04

您没有正确地指定需要字典游标。当您调用connect()方法时,设置cursorclass

代码语言:javascript
运行
复制
import MySQLdb

conn = MySQLdb.connect(user='user', 
                       passwd='password', 
                       db='db_name', 
                       cursorclass=MySQLdb.cursors.DictCursor) 
cursor = conn.cursor()
票数 1
EN

Stack Overflow用户

发布于 2016-05-01 14:17:21

实际上你得到了你想要的。您只需要使用行不是作为字典,而是作为元组。这意味着索引是数字,而不是字符串。试一试

代码语言:javascript
运行
复制
print "%s, %s" % (row[0], row[1])

相反,

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36967565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档