我在这做错了什么? IF和Else声明

时间:2016-07-28 14:37:12

标签: python sql sqlite

我的目标是阅读现在记录中的一堆行。如果任何记录的第二列(行[1])在此示例中等于133,则打印出第一列和第二列。

我遇到了这个问题:

第11行 - 否则:问题

import sqlite3

conn = sqlite3.connect('db.sqlite')
print "Opened database successfully";

cur = conn.execute("SELECT * FROM sightings")
row = cur.fetchone()
while row is not None:
    if row[1] == 133:
        print row[0], row[1] 
    else:
        row = cur.fetchone():


cur.close()

conn.close()

2 个答案:

答案 0 :(得分:1)

在您不需要

的语句末尾有一个额外的冒号
if row[1] == 133:
    print row[0], row[1] 
else:
    row = cur.fetchone(): <----

应该是..

if row[1] == 133:
    print row[0], row[1] 
else:
    row = cur.fetchone()

答案 1 :(得分:-1)

我已经设法在你们的帮助下解决了这个问题。谢谢!

import sqlite3

conn = sqlite3.connect('db.sqlite')
print "Opened database successfully";

cur = conn.execute("SELECT * FROM sightings WHERE column = 133")
row = cur.fetchone()

while row is not None:

        print row[0], row[1], row[2], row[3], row[4], row[5], row[6]  
        row = cur.fetchone()



cur.close()

conn.close()