如何检索给定值的pyodbc行

时间:2017-10-27 19:01:14

标签: python pyodbc

我有一个从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')))

编辑:添加了一些代码来澄清我的例子。

1 个答案:

答案 0 :(得分:3)

我不确定pyodbc但是使用cx_Oracle我觉得fetchall会返回一个行列表。所以,我猜它会是这样的:

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

我假设第3列是p [2]。

打印的i值是all_products的索引。