2016-11-22 9 views
0

난에 그 값으로 텍스트 필드를 추가하려면,열의 맨 위에 텍스트 필드를 추가하는 방법은 무엇입니까?

jdata = db.executesql("select supplier_name from supplier", as_dict=True) 
ret_data = [i.values() for i in jdata] 
return dict(jdata=ret_data) 

예를 들어, 출력은 다음과 같이 될 것입니다 :

{[['Name', 'Rank'], ['Tom', 1],['Scott', 2],['Joe', 3]]} 

감사합니다!

query = 'select name, rank from supplier' 
    jdata = [('Name', 'Rank')] + db.executesql(query) 
    return dict(jdata=jdata) 

당신이 정말로 목록의 목록을해야하는 경우, 다음 : 당신을 가정

+0

귀하 쿼리에는 두 개가 아닌 한 열만 포함됩니다. 또한 미리 열 이름을 알고 있다고 가정하는 것이 안전합니까? 즉, 반환 된 결과에서 열 이름을 추출 할 필요가 없습니다. – Anthony

+0

감사합니다. Anthony, 목록의 처음에 [[ 'name', 'rank']] 필드를 추가하고 싶습니다. – user7192115

+0

맞지 만 쿼리가 실제로 순위 필드를 선택하지 않아 결과에 나타나지 않기 때문에 명확히하고 싶습니다. 또한 이것이 미리 열 이름의 전체 목록을 알지 못하고 쿼리 결과에서 가져와야하는 일반화 된 문제가 아니 었는지 확인하고 싶었습니다. – Anthony

답변

1

은 간단하게 할 수있는, 튜플의 목록이 아닌 목록의 목록 OK입니다

jdata = [['Name', 'Rank']] + [list(r) for r in db.executesql(query)] 
+0

죄송합니다. 쿼리에 순위 필드를 포함시키는 것을 잊지 않습니다. 어쨌든 지금은 대단히 감사합니다. 열의 맨 위에 이름 필드와 순위 필드를 추가 할 수있게되었습니다. – user7192115

+0

위의 질문에 대한 대답이 되었습니까, 아니면 여전히 문제가 있습니까? – Anthony

+0

대단히 감사합니다. 나는 또 다른 질문이있다. 이 json [{ "Name": "Tom", "Rank": 2}, { "Name": "Joe", "Rank": 4} "을 [Tom], [Joe] [2,4] – user7192115