Python 如何检索给定值的pyodbc行
我有一个pyodbc对象,它是从包含4列和几行的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
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')))