我有一些Connection类,它有__enter__和__exit__方法来返回mysql.connector.MySQLConnection实例。
需要的是运行 mysql 存储过程并将数据作为数据框获取。我尝试了很多方法:?、%s、:1、%(name)s 并将列表、元组、字典传递给参数。
with Connection(**self._connection) as conn:
df = pandas.read_sql("call stored_procedure (?);", conn, params=['test'])
我阅读了带有参数的 Pandas read_sql、MySQL 存储过程、Pandas 和“在执行多个语句时使用 multi=True”以及其他一些内容,但仍然找不到解决方案,因为它总是以“并非所有参数都在 SQL 语句中使用”而失败"或要求使用 Multi = True;
当然,我们可以使用游标读取数据,获取它并传递给 DataFrame 构造函数,但是根据文档必须有一种使用 pandas.read_sql 的方法。