从pypyodbc数据库查询返回单个字符串

2024-03-29 00:16:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从MSSQL数据库中提取一个值,代码如下:

import pandas as pd
import pypyodbc
query = 'SELECT TOP(1) value FROM [dbo].[table]'
connection = pypyodbc.connect(...)
df = pd.read_sql_query(query, connection)

但这返回一个dataframe对象,是否有一个方法只返回一个字符串值,可能没有Pandas。关键是速度。有没有一种更快速的连接/查询方法?在


Tags: 代码fromimport数据库pandasvaluetopas
1条回答
网友
1楼 · 发布于 2024-03-29 00:16:39

如果处理速度对您很重要,请考虑以矢量化的方式实现您的算法。在

使用矢量化方法通常意味着使用内部函数来处理向量和矩阵,而不是标量,这些函数是用C、C-Python等(优化)实现的,而不是编写循环。在

如果您的算法无法矢量化,您仍然可以加快算法的速度-一次读取所有要处理的数据,而不是循环进行:

query = 'SELECT value FROM [dbo].[table]'  # <  NOTE: i have intentionally removed `TOP(1)`
connection = pypyodbc.connect(...)
df = pd.read_sql_query(query, connection)

# process your data (from the DataFrame) here...

相关问题 更多 >