我如何使用 pdreadsqlquery 将 SQL 存储过程的所有结果从 python 提取到数据框中?

how do i fetch all results from SQL stored procedure from python into a dataframe using pdreadsqlquery?

我有一个 MySQL 存储过程,它返回 data.I 的 7000 行和 11 列,我能够在 SQL 中执行这个存储过程。我如何return所有这些数据

我试过了-

import pandas as pd 
import pyodbc
conn = pyodbc.connect('Driver={SQL Server};'
'Server=ABC003\PROD;''Databse=Warehouse;''Trusted_Connection=yes;')
dfo =pd.read_sql_query('SELECT * FROM EXEC dbo.storedproc',conn)

但这不起作用。我在关键字 'EXEC'

旁边收到不正确的语法

我最后的objective是将所有数据读入一个dataframe。我还不熟悉像 sqlalchemy 这样的替代方案,并且不确定它是否适用于我的情况,因为我在 T-SQL 而不是 SQL-Lite 中编码。有没有办法通过 pyodbc 库或 pandas 阅读 sql 查询来做到这一点?

尝试

import pandas as pd 
import pyodbc
conn = pyodbc.connect('Driver={SQL Server};'
'Server=ABC003\PROD;''Databse=Warehouse;''Trusted_Connection=yes;')cursor = conn.cursor()
cursor.execute('SET NOCOUNT ON;EXEC dbo.storedproc')
results = cursor.fetchall()
dfo = pd.DataFrame.from_records(results)

这会将您所有的数据都放入一个数据框中,而不考虑参数,未经过滤。让我知道这个是否奏效。谢谢