2016-11-22 54 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]]} 

謝謝!

+0

你查詢只包含一列,而不是兩列。另外,假設您提前知道列名是否安全(即,您不需要從返回的結果中提取它們)? – Anthony

+0

謝謝安東尼,我的意思是我想在列表的開頭附加[['name','rank']]字段。 – user7192115

+0

正確,但希望澄清,因爲您的查詢實際上並未選擇排名字段,因此它不會顯示在結果中。也希望確保這不是一個普遍的問題,因爲您不知道列名的完整列表,並且需要從查詢結果中獲取它們。 – Anthony

回答

1

假設你是一個元組的列表,而不是一個列表的列表OK,你可以簡單地做:

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

如果你真的需要一個列表的列表,然後:

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

對不起,我忘了在查詢中包含排名字段。任何方式,非常感謝,現在我能夠在列的頂部添加Name和Rank字段。 – user7192115

+0

那麼,以上回答你的問題,還是仍然存在問題? – Anthony

+0

非常感謝,非常感謝。我有另一個問題。如何將此json [{「Name」:「Tom」,「Rank」:2},{「Name」:「Joe」,「Rank」:4}]轉換爲['Tom','Joe']和[2,4] – user7192115

相關問題