如何检索给定值的 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.
的索引
我有一个从 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.
的索引