如何使用python脚本从具有列名的数据库中检索值?

时间:2018-09-10 05:04:34

标签: python select typeerror

我需要从数据库中检索指定列名称的值。我尝试过的以下代码,

import pyodbc

def get_db_data():
    cursor = getConnection.cursor()
    cursor.execute("select * from student")
    return cursor

cur = get_db_data()
for row in cur.fetchall():
    print(row["student_name"])

我正面临错误

TypeError: row indices must be integers, not str

如何实现?

2 个答案:

答案 0 :(得分:1)

如果要按名称访问列,则应将其指定为行的属性而不是索引:

for row in cur.fetchall():
    print(row.student_name)

答案 1 :(得分:0)

根据pyodbc文档“行对象类似于元组,但它们也允许按名称访问列”。您可以尝试row [0]或row.student_name(假设student_name的列索引为0)

import pyodbc

def get_db_data():
    cursor = getConnection.cursor()
    cursor.execute("select * from student")
    return cursor

cur = get_db_data()
for row in cur.fetchall():
    print(row[0])