您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

pandas read_sql中的“ TypeError:'NoneType'对象不可迭代”

pandas read_sql中的“ TypeError:'NoneType'对象不可迭代”

包含多个sql语句的sql命令文本称为 匿名代码 。匿名代码块可以返回多个结果,每个结果可以是

以下示例失败…

sql = """\
SELECT 1 AS foo INTO #tmp;
SELECT * FROM #tmp;
"""
df = pd.read_sql_query(sql, cnxn)
# TypeError: 'nonetype' object is not iterable

…,因为第一个SELECT ... INTO返回行计数,第二个SELECT返回其结果集。

解决方法是启动匿名代码块,SET NOCOUNT ON;代码块将抑制行数并仅返回结果集:

sql = """\
SET NOCOUNT ON;
SELECT 1 AS foo INTO #tmp;
SELECT * FROM #tmp;
"""
df = pd.read_sql_query(sql, cnxn)
# no error
SQLServer 2022/1/1 18:36:52 有448人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶