如何检索给定值的 pyodbc 行

How to retrieve pyodbc row for given value

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

假设第 3 列中的 7 行包含值 'X'。如何找到我的 pyodbc 对象中第 3 列 = 'X'?

的行的索引

我的猜测类似于下面的内容,这当然行不通,因为没有为 all_products 定义索引。

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_Oracle 我认为 fetchall returns 是一个行列表。所以,我想应该是这样的:

i = 0
for p in all_products:
    if p[2] == 'X':
        print(i)
    i += 1

我假设第 3 列在 p[2] 中。

打印的 i 值是 all_products.

的索引