2015-10-06 61 views
0

我正在嘗試使用Python和導入的SQL數據創建循環。現在我可以爲任何硬編碼值運行循環,但是當我在變量i中添加時出現錯誤。下面是我當前的代碼:使用SQL和Python循環

start = %sql SELECT * FROM streets 
end = %sql SELECT * FROM streets 

#path.keys 
# [u'id', u'value1', u'value2', u'value3', u'value4'] 

for i in start: 
    print start[3][4] 

這將打印出來的是什麼VALUE4上3行重複值,我試圖做的是重新編寫循環,使其呈現行的值一世。例如

for i in start: 
    print start[i][4] 

但是這給了我一個錯誤

--------------------------------------------------------------------------- 
KeyError         Traceback (most recent call last) 
<ipython-input-215-bc2196cf4539> in <module>() 
     5 
     6 for i in start: 
----> 7  print start[i][4] 
     8 

/Users/xxxxx/homebrew/lib/python2.7/site-packages/sql/run.pyc in __getitem__(self, key) 
    136    result = [row for row in self if row[0] == key] 
    137    if not result: 
--> 138     raise KeyError(key) 
    139    if len(result) > 1: 
    140     raise KeyError('%d results for "%s"' % (len(result), key)) 

如何改寫這個在我拉和行呈現有價行有什麼想法?

在此先感謝!

回答

1

如果開始是一個列表,這會工作:

for i in range(len(start)): 
    print start[i] 

要找出start是,如何處理它,你可以做type(start))。如果它是某種SQL遊標,它不會有長度屬性,但是您應該可以這樣做:

for i in start: 
    print i 
+0

很高興能夠提供幫助:) – rofls