Return 来自 pypyodbc 数据库查询的单个字符串

Return single string from pypyodbc database query

我正在尝试从 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)

但是这个 return 是一个数据框对象,有没有一种方法可以代替 return 单个字符串值,可能没有 Pandas。关键优先级是速度。 connecting/querying有没有更快的方法?

如果处理速度对您很重要,请考虑以向量化Pandas/NumPy/SciPy/SKLearn方式实施您的算法。

使用向量化方法通常意味着使用使用向量和矩阵而不是标量的内部函数,并使用 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...