我正在尝试使用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()时获取异常。谁能帮我解决这个问题?
答案 0 :(得分:1)
在to_dict
(这是一个游标对象)上调用cmd
似乎没有多大意义-您可能想使用cmd.fetchall()
返回查询结果作为列表,然后将列表元素转换为字典。
但是,可能有一种更简单的方法,它是使用DictCursor
variant of cursor
(将行表示为dict而不是元组)。
这是修改后的代码的外观:
from snowflake.connector import DictCursor
cmd = conn.cursor(DictCursor)
for i in self.queries:
cmd.execute(i['query'])
data_sets.append(cmd.fetchall())