【发布时间】:2018-03-02 10:45:47
【问题描述】:
我想将数据存储在从数据库中获取的 numpy 数组中。我想确保没有空值(无)进入 numpy 数组(无论如何都会引发错误)。我尝试按照以下方式进行操作,但它不起作用。由于某种原因,NullValueCheck() 总是返回 true 我如何知道 null 值并对其进行处理?
import numpy as np
import pyodbc as odbc
cnxn = odbc.connect(conn_string)
cursor = cnxn.cursor()
cursor.execute("""SELECT ID, BuildingID, Title FROM Something"""")
rows = cursor.fetchall()
cnxn.close()
ID = [i[0] for i in rows]
buildingID = [i[1] for i in rows]
title = [i[2] for i in rows]
def NullValueCheck(rows):
if (any(elem is None for elem in rows[0])):
return True
else:
return False
if NullValueCheck(rows):
ID_array = np.fromiter(ID, dtype= np.int32)
编辑: 事实证明,我不必编写所有代码。我可以使用我想从 numpy 数组中实现的 pandas 数据框来实现相同的目标。
import pandas as pd
import pyodbc as odbc
cnxn = odbc.connect(conn_string)
df = pd.io.sql.read_sql("""SELECT ID, BuildingID, Title FROM Something""", cnxn)
【问题讨论】:
标签: python-3.x numpy pyodbc