2016-11-22 44 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

相关问题