python中Access查询结果放入数组

解决方案:
代码如下:

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)

你可能感兴趣的:(软件类)