【问题标题】:Python - Dictionary from pyodbc return results in Type ErrorPython - 来自 pyodbc 的字典返回类型错误的结果
【发布时间】:2020-08-10 11:15:37
【问题描述】:

我需要从我的 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

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

【问题讨论】:

  • fetchall() 返回pyodbc.Row 对象的列表。它们看起来很像元组,但事实并非如此。那么,当您说要“根据我的 pyodbc 返回创建字典”时,您真正想要的是什么?您想要listdict 吗?请edit澄清您的问题。

标签: python python-3.x dictionary pyodbc


【解决方案1】:

data 是一个列表,你可以使用:

self.itemDataMap = {tuple(data) : data for data in pyodbc_return} 

我不知道你为什么要这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    • 1970-01-01
    • 2013-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多