在Python中无限循环遍历一个小型SQL数据库

时间:2017-01-12 09:42:09

标签: python sqlite

我是Python的新手,我仍在学习东西。我需要逐行读取一个SQL数据库(20或30行),然后在到达结束行后循环回到第一行。

我尝试使用嵌套在无限循环中的for语句,但它只运行一次。

c.execute('''SELECT Tank_number, Pressure, Diameter, SG FROM Tank_Data''')

while True:

    for row in c:

        Tank_number = row[0]
        Pressure = row[1]   
        Diameter = row[2]
        SG = row[3]

我认为这是一个简单的问题,但我已经尝试了很长时间。如果我能以某种方式获得当前行的标识符,那么如果它到达最后一行,我可以将该行设置为1.

1 个答案:

答案 0 :(得分:0)

获取当前行的标识符,请使用enumerate:

while True:
    c.execute('''SELECT Tank_number, Pressure, Diameter, SG FROM Tank_Data''')
    for index, row in enumerate(c):
        Tank_number = row[0]
        Pressure = row[1]   
        Diameter = row[2]
        SG = row[3]
        time.sleep(0.5)

然后行的索引保存在变量index中,您可以随意执行任何操作。此外,这将继续调用c.execute刷新表。