如何从pyodbc查询的结果创建NumPy数组?

2024-05-31 18:26:30 发布

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

我想从SQL查询中提取值创建一个数组或列表。根据研究,我相信我从SQL中提取的数据是一个元组。在

如何将数据格式化为可以在python中使用的列表?在

在我当前的代码中,我尝试使用numpy命令np.A阵列. 我不确定numpy数组是否允许datetime。在

import numpy as np
import pyodbc

conn = pyodbc.connect('login')
cursor = conn.cursor()
cursor.execute("SELECT PTIME, PVALUE FROM HISTORY_TABLE WHERE POINT = 'Value' AND PTIME> '2017-04-12' AND PTIME<'2017-04-13' AND HISTTYPE='AVG' AND PERIOD=7200")

sample = cursor.fetchall()
rockin = np.asarray(sample)
print rockin

cursor.close()
conn.close()

我的结果如下:

^{pr2}$

Tags: and数据sampleimportnumpy列表closesql
1条回答
网友
1楼 · 发布于 2024-05-31 18:26:30

From research I believe the data I pull from SQL is a tuple.

不完全是。pyodbc的fetchall()方法不返回元组列表,而是返回pyodbc.Row对象的列表:

>>> rows = crsr.execute("SELECT 1 AS foo UNION ALL SELECT 2 AS foo").fetchall()
>>> rows
[(1, ), (2, )]
>>> type(rows[0])
<type 'pyodbc.Row'>

可能是np.asarray不知道如何处理pyodbc.Row对象。如果您想将每一行转换为一个实际的元组,您可以使用

^{pr2}$

相关问题 更多 >