假设应用:某接口需要从数据库获取数据,每条数据都是一个python对象,以数组形式输出,即: [{}, {}, {}…],以python2.7和sqlserver为例
测试数据:
python脚本:
# coding=utf-8
import pyodbc
#数据库连接
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=20.209.182.190;DATABASE=testdb;UID=test;PWD=test@123')
cur = conn.cursor()
#各字段空数组
ipList = [] #ip数组
cpuList = [] #cpu数组
diskList = [] #硬盘数组
ramList = [] #内存数组
objList = [] #对象数组
sql = "select * from A_TEST" # 查询所有数据
cur.execute(sql)
for row in cur.fetchall():
#将各个字段数据放入相应的数组
ipList.append(row[0])
cpuList.append(row[1])
diskList.append(row[2])
ramList.append(row[3])
sql_count = "select count(1) from A_TEST" #查询有多少条数据
cur.execute(sql_count)
for count in cur.fetchall():
num = int(count[0]) #获取数据条数并转为int类型
for i in range(0,num): #循环每条数据
obj = {"ip":ipList[i], "cpu_use":cpuList[i], "disk_use":diskList[i],"ram_use":ramList[i]} #取每个字段数据组成对象
objList.append(obj) #将对象放入对象数组
print objList #打印对象数组
print (u"第二条数据ip信息: " + objList[1]['ip']) #打印第二条数据的ip信息
print (u"第三条数据cpu使用率信息: " + objList[2]['cpu_use']) #打印第三条数据的cpu使用率信息
conn.close() #关闭数据库连接
运行结果: