这是一个普遍的问题,考虑我有一个包含多个列的表,如:
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中处理它,你能不能指点我这样做。
答案 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/是关于这个主题的最好资源,我已经阅读过了日期。