解决方案:
代码如下:
import numpy
import win32com.client #引入win32
conn = win32com.client.Dispatch(r"ADODB.Connection") #通过win32连接用于数据库操作的ADODB库
DSN = 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=ex15ConnectAccess_DataIn.accdb;Persist Security Info=False;' #此处data Source出更换为自己的库名
conn.Open(DSN) #打开自己的数据库
rs = win32com.client.Dispatch(r'ADODB.Recordset')
rs_name = 'ComsumeDetail_Table' #需要操作的表名
rs.Open('select * FROM ' + rs_name + ' where id < 500', conn, 1, 3) #打开工作表或SQL查询结果
list = [] #定义一个临时数组
list1=[] #定义结果数据,放查询结果
count=0 #统计数据条数
rs.MoveFirst()#光标移到首条记录
while True:
if rs.EOF: #EOF为判断是否整个数据表的结尾(此处不太确定,希望探讨)
break
else:
for i in range(rs.Fields.Count): # rs.Fields.Count为表中字段个数
list.append(rs.Fields[i].Value) # 每一行各个字段的值给临时一维数组
rs.MoveNext() # 移到下条数据进行读取
list1.append(list) #临时一维数组逐条添加到结果数组中
count=count+1
list = [] #清空临时数组
list1=numpy.array(list1) #数组转变为numpy数组格式,方便运算
print(list1)
print(count)