我是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.
答案 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
刷新表。