pandasql OperationalError:SQL 变量太多

Posted

技术标签:

【中文标题】pandasql OperationalError:SQL 变量太多【英文标题】:pandasql OperationalError: too many SQL variables 【发布时间】:2019-05-07 21:36:45 【问题描述】:

我正在尝试与pandasql 合作,但有些东西无法正常工作。我执行以下代码:

from pandasql import sqldf, load_meat
pysqldf = lambda q: sqldf(q, globals())
meat = load_meat()
df = pysqldf("SELECT * FROM meat LIMIT 10;").head()

并得到这个错误:

OperationalError: (sqlite3.OperationalError) too many SQL variables [SQL: 'INSERT INTO meat (date, beef, veal, pork, lamb_and_mutton, broilers, other_chicken, turkey) VALUES

(Background on this error at: http://sqlalche.me/e/e3q8)

可能是什么问题?

【问题讨论】:

您的 load_meat 函数是否在表中插入值? meat = load_meat 将数据帧加载到meat 中(您可以使用我提供的代码自行测试) 我正在使用 Py27 Spyder IDE,它对我来说很好用!! 我正在使用 Python3 和 Spyder IDE 【参考方案1】:

这是由于 pandas 23.0 版本。如果您升级到 pandas 23.4,您的问题将得到解决。使用 pip install --upgrade pandas(有 root 权限)或 pip install --user --upgrade pandas(没有 root 权限)。

【讨论】:

以上是关于pandasql OperationalError:SQL 变量太多的主要内容,如果未能解决你的问题,请参考以下文章

当pandas撞上了sql,于是一个强大的pandasql库产生了!

sqlalchemy.exc.OperationalError:(sqlite3.OperationalError)没有这样的表:mytable

sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (2059, "Authentication pl

OperationalError: (OperationalError) (2003, "Can't connect to MySQL server on '192.168.129.139'

Flask框架下的sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1045)问题

sqlite3.OperationalError:靠近“BatchID”:语法错误