2012-12-19 1 views
1

내 쿼리 결과에 특정 값 행 [9:11]을 추가하려고합니다. IF rows0-8이 이미 존재하는 경우 (중복을 피하고 많은 행을 한 행으로 이동하려면, 많은 열). 쿼리를 잘 실행하고 "else"절을 제거하면 제대로 작동합니다. 그러나, 나는 이미 추가 값으로 존재하는 행을 인쇄하지 못하고있다. (그리고 나는이 행들이 있다는 것을 알고있다.) 어떤 아이디어가 빠졌는가?python에서 sql 쿼리 - 값을 추가 디버깅

cursor.execute(query, cruise6_input=cruise6_input) 
output="" 
checkID="" 
for row in cursor.fetchall(): 

    if row[0] != checkID: 
     if output != "": 
      print output, "this is a test" 

     checkID=row[0] 
     output=row[0:11] 


    else: 
     output=output + (row[8:11]) 

이 원래 출력 행을 모두 인쇄 내 중첩가 꺼져

+0

그래도 제거했지만 여전히 같은 결과를 얻고 있습니다 ... –

+2

'output'은 주석 처리되었으므로 나중에 output.join (str (row))에서 사용하려고 할 때 정의되지 않았습니다. [8:11]))'. 또한,'str (row [8:11])'는 단지리스트의 문자열 표현을 반환 할 것이다. 'output = ','. x in row [8:11])'에 join (str (x))을 사용해야합니다. – snurre

+0

다른 사람이 올바른 if 조건을 닫았습니까? – Anov

답변

1

... "이 테스트입니다." 대신에 :

if row[0] != checkID: 
    if output != "": 
     print output, "this is a test" 

    checkID=row[0] 
    output=row[0:11] 


else: 
    output=output + (row[8:11]) 

내가했다 :

if row[0] != checkID: 
     if output != "": 
      print output, "this is a test" 

      checkID=row[0] 
      output=row[0:11] 


    else: 
     output=output + (row[8:11]) 

바보 오타. 모두에게 감사드립니다!

관련 문제