PyODBC结果到一本字典

问题描述:

我正在尝试使用fetchall()作为结果的字典。PyODBC结果到一本字典

我会尽力解释我需要什么;我有在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中指出:

OUT

所以上的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) 

但是,这是输出:

OUT

我想有以下出来:

{'172.59.xx.xx': set([PBX_es]), '172.65.xx.xx': set([PBX_pt]), '172.72.xx.xx': set([PBX_mx])} 

但是,我不知道如何编辑我的实际代码有输出。

请帮忙!

你正在超越它。你首先建立了一个{'dst_srv': .., 'dst_db': ..}的列表,但你并不需要它。

cox2 = collections.defaultdict(set) 
for k,v in conexiones: 
    cox2[k].add(v) 
+0

它的工作原理!但是,你知道是否有办法将设置的值更改为str? – Urkidy

+0

设置为str是什么意思?像'{'1','2'}'到'1,2'? – Fabricator