如何在查询Python中按名称获取字段?

时间:2016-11-28 08:52:39

标签: python mysql python-3.x

我在Python脚本中使用Mysql Connection。

如何从名单中获取表格的结果?

cursor = conn.cursor()
cursor.execute("SELECT * FROM local")

现在我通过索引来做到这一点:

results = cursor.fetchall()
for row in results:
   print row[0] //

相反,我想通过名称来获取字段,如:print row["name"]

3 个答案:

答案 0 :(得分:6)

如果您使用的是 mysql-connector ,请尝试使用

cursor = conn.cursor(dictionary=True)
cursor.execute("SELECT * FROM local")
results = cursor.fetchall()
for row in results:
   print row['name']

如果dictionary为True,则游标将行作为字典返回。

答案 1 :(得分:2)

相反,您可以使用pandas库

import pandas as pd
sql = "SELECT * FROM local"
df = pd.read_sql(sql,conn)

for index,row in df.iterrows():
    print(row['name'])

我希望这会有所帮助

答案 2 :(得分:0)

如果你正在使用MySQLdb for python,你可以向你的游标实例发送一个DictCursor。

以下是使用MySQLdb的完整示例:

>>> import MySQLdb
>>> db = MySQLdb.connect(host="localhost",user="test",passwd="test",db="test")
>>> cursor = db.cursor(MySQLdb.cursors.DictCursor)
>>> cursor.execute("SELECT * FROM test_user")
2
>>> results = cursor.fetchall()
>>> for result in results:
...    print(result["username"])
test1
test2

希望它有用。

此外,您可以在这里找到适合您的元组情况的答案。 python mysql.connector DictCursor?