- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在互联网上寻找解决方案。
这是代码:
import pyodbc
import pandas as pd
conn = pyodbc.connect("Driver={SQL Server};"
"Server=Server;"
"Trusted_Connection=yes;")
cursor = conn.cursor()
query = """
SET
nocount
ON;
USE database;
SELECT
*
FROM
(
SELECT
db.column1 AS col1,
db.column2 AS col2,
db.column3 AS col3,
CASE
WHEN
db.column4 IS NULL
THEN
0
ELSE
1
END
AS col4,
db.column5 AS col5
FROM
TABLE AS tab
INNER JOIN
data as db
ON ( operator )
)
AS sivola
WHERE
sivola.col2 > x
ORDER BY
sivola.col2 ASC
"""
df = pd.read_sql(query, conn)
虽然我正在使用SET nocount ON;
(正如许多帖子中所建议的那样),我仍然收到错误 TypeError: 'NoneType' object is not iterable
有什么可行的解决方案吗?
编辑:完整追溯
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-56-f01b80801200> in <module>()
82 logging.error('Starting query from BL \n')
83
---> 84 df = pd.read_sql(query, conn)
~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\io\sql.py in read_sql(sql, con, index_col, coerce_float, params, parse_dates, columns, chunksize)
379 sql, index_col=index_col, params=params,
380 coerce_float=coerce_float, parse_dates=parse_dates,
--> 381 chunksize=chunksize)
382
383 try:
~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\io\sql.py in read_query(self, sql, index_col, coerce_float, params, parse_dates, chunksize)
1434 args = _convert_params(sql, params)
1435 cursor = self.execute(*args)
-> 1436 columns = [col_desc[0] for col_desc in cursor.description]
1437
1438 if chunksize is not None:
TypeError: 'NoneType' object is not iterable
最佳答案
你可以删除设置
?
没有计数
在;
使用数据库;
我认为从连接中获取结果的方式是不正确的。要么使用光标并执行任务而不获取任何内容,要么像您一样仅使用连接中的选择来获取内容,但没有这些行。
关于python - 错误: 'NoneType' object is not iterable when read_sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58995873/
我通过 Pandas 的 read_sql 和外部应用程序 (DbVisualizer) 运行完全相同的查询。 DbVisualizer 返回 206 行,而 pandas 返回 178 行。 我曾尝
我正在尝试做异步等价物 engine = create_engine('sqlite:///./test.db') stmt = session.query(MyTable) data = pd.re
我必须比较两个数据源以查看所有行中的相同记录是否相同。一个数据源来自 Excel 文件,另一个来自 SQL 表。我尝试使用 DataFrame.equals() 就像我过去一样。 然而,这个问题是由于
我们正在使用 pandas read_sql用于检索前端触发的查询结果。为了简化用例,假设用户给出一些参数(表名、子句等),然后我们将其转换为 sql,然后使用 read_sql 执行它。pandas
我有一个数据库接口(interface)类,它从 pandas pd.read_sql 函数返回查询。我想将 pd.read_sql 参数传递给该方法,以便在调用函数时可以使用它,如下所示: impo
我有一个字段月年,格式为 datetime64[ns] 。 如何在 where 子句中使用此字段来获取滚动 12 个月的数据(过去 12 个月的数据)。 以下查询不起作用,但我想要过滤 12 个月数据
我正在遍历 pd.read_sql(query, engine, chunksize=10000) 的结果 我正在使用 engine (sqlalchemy) 设置为 echo=True以便它打印出
我可以访问 MS SQL SERVER 数据库,从中检索数据进行分析。我使用 Mac,因此可以使用 Navicat Essentials for SQL Server 访问数据库。这真的很好用。但是,
我正在尝试使用以下代码通过 python 从 sql 检索数据: query = ("SELECT stuff FROM TABLE WHERE name like %%(this_name)s%")
我试图在两个不同表的比较列之后插入一个标志(匹配/不匹配)。我能够比较两个 mysql 表列但不知道如何插入标志列并获取状态(匹配/不匹配) 下面是一个例子,考虑2个mysql表: 选项卡1: ema
我正在尝试将三个不同 MySQL 表中的几列读取到三个不同的数据帧中。 从数据库中读取并不需要很长时间,但实际上将它们放入数据帧中却相当慢。 start_time = time.time() prin
我有一个数据集 (14gb),我正在尝试使用 chunksize 从 MySQL 中提取数据。但是,我继续收到以下错误: TypeError: read_sql_query() got an unex
我正在使用 pyodbc 和 pandas read_sql 从 Oracle 数据库中提取数据。 当我输入这一行时我没有看到任何错误 df = pd.read_sql(sql_str,cnxn,ch
这是错误还是我做错了什么?我创建了一个 df,将它放在一个 sql 表中,df 和表中有一个带点的列。现在当我从 sql 表中读取 df 时,列名不一样。我写了这段代码是为了让人们可以测试它。 imp
import pandas as pd q = """ select * from tbl where metric = %(my_metric)s ;
我使用 pandas 从 Vertica 数据库读取数据: pd.read_sql(query, self._conn) 但是失败了 UnicodeDecodeError:“utf-8”编解码器无法解
我需要进一步处理 MySQL 查询的结果集作为数据框。 SQL 表包含大约 200 万行和 12 列(数据大小 = 180 MiB)。我正在运行 8 GB 内存的 OS X 10.9。 pandas.
我有一个用户定义的函数,它使用 pymysql 连接到 mysql 数据库,然后查询数据库并将结果读入 Pandas 数据帧。 import pandas as pd import pymysql i
有没有关于如何在 Pandas 中通过 SQL 查询传递参数的示例? 特别是我使用 SQLAlchemy 引擎连接到 PostgreSQL 数据库。到目前为止,我发现以下工作: df = psql.r
我将 MySQL 与 pandas 和 sqlalchemy 结合使用。但是,它非常慢。一个简单的查询,因为这个查询需要超过 11 分钟才能在具有 1100 万行的表上完成。什么行动可以改善这种表现?
我是一名优秀的程序员,十分优秀!