sql-server – 将存储过程选择结果读入pandas数据帧
发布时间:2020-05-24 03:37:14 所属栏目:MsSql 来源:互联网
导读:鉴于: CREATE PROCEDURE my_procedure @Param INTAS SELECT Col1, Col2 FROM Table WHERE Col2 = @Param 我希望能够将其用作: import pandas as pdimport pyodbcquery = EXEC my_procedure @Param = {0}.
|
鉴于: CREATE PROCEDURE my_procedure
@Param INT
AS
SELECT Col1,Col2
FROM Table
WHERE Col2 = @Param
我希望能够将其用作: import pandas as pd
import pyodbc
query = 'EXEC my_procedure @Param = {0}'.format(my_param)
conn = pyodbc.connect(my_connection_string)
df = pd.read_sql(query,conn)
但这会引发错误: ValueError: Reading a table with read_sql is not supported for a DBAPI2 connection. Use an SQLAlchemy engine or specify an sql query SQLAlchemy也不起作用: import sqlalchemy engine = sqlalchemy.create_engine(my_connection_string) df = pd.read_sql(query,engine) 抛出: ValueError: Could not init table 'my_procedure' 事实上,我可以直接使用pyodbc执行语句: cursor = conn.cursor() cursor.execute(query) results = cursor.fetchall() df = pd.DataFrame.from_records(results) 有没有办法将这些过程结果直接发送到DataFrame? 解决方法https://code.google.com/p/pyodbc/wiki/StoredProcedures我不是python专家,但SQL Server有时会返回语句执行的计数.例如,更新将告知更新了多少行. 只需使用’SET NO COUNT;’在批量调用的前面.这将删除插入,更新和删除的计数. 确保使用正确的本机客户端模块. 看看这个堆栈溢出示例. 它具有adhoc SQL和调用存储过程示例. Calling a stored procedure python 祝好运 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- SQL SERVER数据库的作业的脚本及存储过程
- firebase – 用于在用户之间共享文档的Firestore
- f# – SqlDataConnection类型提供程序 – 使用脚
- sql-server-2005 – 无法重建索引,因为行超过最大
- 揭秘SQL Server 2014有哪些新特性(4)-原生备份加
- sql-server – Sql Server – 增长数据库文件的最
- 数据库 – Access 2007 – 2010可以使用哪些ORM?
- MS Access – 链接到另一个Access数据库中的查询
- sql-server – 在sql server中丢失的行中断
- sql-server – SQL Server哈希索引
热点阅读
