2017-01-12 102 views
0

我對Python相當陌生,而且我仍然在學習它們。我需要逐行讀取SQL數據庫(20行或30行),然後在到達最後一行後循環回第一行。在Python中無限地循環訪問小型SQL數據庫

我曾嘗試使用嵌套在無限循環中的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

得到一個標識符當前行,用枚舉:

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刷新表。

+0

我建議在完成一個循環後添加一個'time.sleep(0.5)'或類似的東西。 – ChatterOne