我尝试使用fetchall()
制作包含结果的词典。
我会尝试解释我需要的东西;我在Python中有以下代码:
conexiones = crsr_kala.execute("SELECT dst_srv, dst_db FROM info_skill_vdn_campana WHERE activo = 1 AND pbx = 'V2' GROUP BY dst_srv;").fetchall()
这就是SQL:
所以在Python上我想创建一个字典,现在我有下一个代码:
col = [column[0] for column in conexiones]
res = []
for row in conexiones:
res.append(dict(zip(col, row)))
cox2 = collections.defaultdict(set)
for d in res:
for k, v in d.iteritems():
cox2[k].add(v)
但这是输出:
我希望得到以下结论:
{'172.59.xx.xx': set([PBX_es]), '172.65.xx.xx': set([PBX_pt]), '172.72.xx.xx': set([PBX_mx])}
但是,我不知道如何编辑我的实际代码以获得该输出。
请帮忙!
答案 0 :(得分:1)
你正在思考它。您首先构建了{'dst_srv': .., 'dst_db': ..}
的列表,但实际上并不需要它。
cox2 = collections.defaultdict(set)
for k,v in conexiones:
cox2[k].add(v)