Python 如何检索给定值的pyodbc行

Python 如何检索给定值的pyodbc行,python,pyodbc,Python,Pyodbc,我有一个pyodbc对象,它是从包含4列和几行的cursor.fetchall(query)命令返回的。我希望能够根据其中一列中的值找到一行(或一组行)的索引 假设第3列中的7行包含值“X”。如何在pyodbc对象中找到列3='X'的行的索引 我的猜测是这样的,当然这是行不通的,因为索引并不是为所有的产品定义的 cursor.execute("select distinct product1, product2, product3, product 4 from myschema.mytable

我有一个pyodbc对象,它是从包含4列和几行的
cursor.fetchall(query)
命令返回的。我希望能够根据其中一列中的值找到一行(或一组行)的索引

假设第3列中的7行包含值“X”。如何在pyodbc对象中找到列3='X'的行的索引

我的猜测是这样的,当然这是行不通的,因为索引并不是为所有的产品定义的

cursor.execute("select distinct product1, product2, product3, product 4 from myschema.mytable")
all_products = cursor.fetchall()
print(all_products[3].index(str('X')))

编辑:添加了更多的代码以澄清我的示例。

我不确定pyodbc,但对于cx\u Oracle,我认为fetchall会返回一个行列表。所以,我想应该是这样的:

i = 0
for p in all_products:
    if p[2] == 'X':
        print(i)
    i += 1
我假设第三列在p[2]中


打印的i值是所有_产品的索引。

使用pyodbc,
fetchall()
返回
pyodbc的列表。Row
对象和每个Row对象中的列都可以通过其基于零的数字索引进行检索,因此您的方法应该可以正常工作。很酷,感谢您的回答。这肯定会奏效的。
cursor.execute("select distinct product1, product2, product3, product 4 from myschema.mytable")
all_products = cursor.fetchall()
print(all_products[3].index(str('X')))