首页 > 解决方案 > 'SnowflakeCursor' 对象没有属性 'to_dict'

问题描述

我正在尝试使用 python 的雪花连接器对雪花执行 select * 查询,并尝试将响应数据添加到出现以下错误的列表中:'SnowflakeCursor' 对象没有属性'to_dict'

这是我的源代码

conn = snowflake.connector.connect(
            user=****,
            password=****,
            account=****,
            warehouse=****,
            host=****
        )
cmd = conn.cursor()
        for i in self.queries:
                cmd.execute(i['query'])
                data_sets.append(list(cmd.to_dict()))

        return data_sets

在执行 cmd.to_dict() 时获取异常。谁能帮我解决这个问题?

标签: pythonsnowflake-cloud-data-platform

解决方案


调用to_dicton cmd(这是一个游标对象)似乎没有多大意义——您可能希望使用 将cmd.fetchall()查询结果作为列表返回,然后将列表元素转换为字典。

然而,可能有一种更简单的方法,它是使用的DictCursor变体cursor(将行表示为字典,而不是元组)。

这是您修改后的代码的外观:

from snowflake.connector import DictCursor

cmd = conn.cursor(DictCursor)
        for i in self.queries:
                cmd.execute(i['query'])
                data_sets.append(cmd.fetchall())

推荐阅读