python - 如何检索给定值的 pyodbc 行

标签 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')))

编辑:添加了更多代码来阐明我的示例。

最佳答案

我不确定 pyodbc,但对于 cx_Oracle,我认为 fetchall 返回行列表。所以,我想它会是这样的:

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

我假设第三列位于 p[2] 中。

打印的 i 值是 all_products 的索引。

关于python - 如何检索给定值的 pyodbc 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46981788/

相关文章:

python - Flask SQLAlchemy 数据映射器与事件记录模式

Python Selenium 等待任何文本

python - 匹配表中的行

python - Python 3.5 执行 SQL 查询时出现 UnicodeDecodeError

python - 为什么结果总是在 2.87 左右

python - 在以 block 读取的字节流中查找模式

mysql - pyodbc + MySQL + Windows : Data source name not found and no default driver specified

python - pyodbc 在 Azure SQL 数据仓库中创建表时出错

python - 构建 JSON 格式时出现问题。在字典和集合之间选择?

python - 让 pyodbc 为只返回一项的查询返回一个简单(标量)值