pyodbc返回的Python字典导致类型错误

pyodbc返回的Python字典导致类型错误,python,python-3.x,dictionary,pyodbc,Python,Python 3.x,Dictionary,Pyodbc,我需要从pyodbc返回中创建一个字典,因为我希望通过单击标题对wxPython列表进行排序 这是我创建字典的代码: self.itemDataMap = {data : data for data in pyodbc_return} 错误如下所示: TypeError: unhashable type: 'pyodbc.Row' def ExecQuery(self, sql, addition=""): cur = self._Getconn

我需要从pyodbc返回中创建一个字典,因为我希望通过单击标题对wxPython列表进行排序

这是我创建字典的代码:

self.itemDataMap = {data : data for data in pyodbc_return} 
错误如下所示:

TypeError: unhashable type: 'pyodbc.Row'
def ExecQuery(self, sql, addition=""):        
    cur = self._Getconnect()
    
    if addition != "":
        cur.execute(sql, addition)
    else:
        cur.execute(sql)
    
    relist = cur.fetchall()
    
    cur.close()
    self.conn.close()
    
    return relist
从数据库收集我的数据的代码如下所示:

TypeError: unhashable type: 'pyodbc.Row'
def ExecQuery(self, sql, addition=""):        
    cur = self._Getconnect()
    
    if addition != "":
        cur.execute(sql, addition)
    else:
        cur.execute(sql)
    
    relist = cur.fetchall()
    
    cur.close()
    self.conn.close()
    
    return relist

根据我的结果创建词典需要更改什么?

数据是一个列表,您可以使用:

self.itemDataMap = {tuple(data) : data for data in pyodbc_return} 
我不知道您为什么要这样做。

fetchall()
返回
pyodbc.Row
对象的列表。它们看起来很像元组,但它们不是。那么,当你说你想“用我的pyodbc返回创建一个字典”时,你真正想要的是什么呢?您想要一个
目录的
列表吗?请澄清你的问题。