2016-08-22 2 views
-1

파이썬으로 MySQL 쿼리에서 결과를 어떻게 변환 할 수 있습니까? 여기 는 지금까지mysql에서 결과를 파이썬의 목록으로 변환하십시오.

import MySQLdb as mdb 

con = mdb.connect('localhost', 'root', 'root', 'sample_db'); 
with con: 
cur = con.cursor() 
cur.execute("SELECT site_id FROM positive_outcomes") 

for i in range(cur.rowcount): 

    row = cur.fetchone() 
    print row[0] 
+2

'fetchall'을 사용하십시오. – DeepSpace

답변

0

그냥 커서 개체에서 전체 결과 집합을 listify해야하고 당신이 정말로 fetchone를 사용해야하는 경우

con = mdb.connect('localhost', 'root', 'root', 'sample_db'); 
with con: 
cur = con.cursor() 
cur.execute("SELECT site_id FROM positive_outcomes") 

result_set = list(cursor.fetchall()) 

for result in result_set: 
    # do something here 
+0

'fetchall'은 이미리스트를 반환합니다. 그것에'list'를 부를 필요가 없습니다. – DeepSpace

+0

사실, 그렇지만 모든 결과를 클라이언트 측에서 한 번에'list (...) '로 호출할지 또는 행별로 반복할지 여부를 결정합니다. 그냥 질문에 대한 귀하의 의견에 언급 한대로 –

+0

@DeepSpace 'fetchall'트릭을 한거야. 고맙습니다. –

0

잘해야을 시도한 것입니다 :

def yield_rows(): 
    for i in range(cur.rowcount): 

     row = cur.fetchone() 
     yield row[0] 

print list(yield_rows()) 
관련 문제