如何在python中遍历查询结果?

时间:2014-09-12 01:08:51

标签: python tuples

这是一个普遍的问题,考虑我有一个包含多个列的表,如:

serial_number    time          number_1    number2
1                14:00:00       123             124
2                13:00:34       121             11111

有一百万行。我想获得如下查询的结果:

SELECT * from table if time = "14:00:00";

这个结果是一个元组元组,我将如何遍历结果并在python中处理它,你能不能指点我这样做。

3 个答案:

答案 0 :(得分:3)

一般问题 - 一般答案。您可以使用 iteration 遍历Python中的任何内容:

for row in c.execute('SELECT * from table if time = "14:00:00"').fetchall():
    print row

答案 1 :(得分:0)

也许这就是你要找的东西:

c.execute("SELECT serial_number, time, number_1, number2 FROM table WHERE time = '14:00:00'")

sum_number_1 = 0
for serial_number, time, number_1, number2 in c:
    print serial_number, time, number_1, number2
    sum_number_1 += number_1

print sum_number_1

对DB API v2.0客户端的游标迭代器支持是可选的(http://legacy.python.org/dev/peps/pep-0249/#optional-db-api-extensions),但大多数都支持。我用psycopg2测试了它。

答案 2 :(得分:0)

我在对@KT的评论中已经提到了这一点,只是说清楚一下,James Payne的书中使用Python 2.6和Python 3.1的这篇文章http://blogs.wrox.com/article/using-the-python-database-apis/是关于这个主题的最好资源,我已经阅读过了日期。