python字典做数据库_python 执行sql得到字典格式数据

#连接数据库,数据库的,这里使用的setting中的默认设置,在这里不做具体的介绍,不懂的可以百度一下

conn = MySQLdb.connect(host=settings.DATABASES['default']['HOST'], user=settings.DATABASES['default']['USER'],

passwd=settings.DATABASES['default']['PASSWORD'],

db=settings.DATABASES['default']['NAME'])

cursor=conn.cursor()#原生sql语句,注意要用六个 "

sql = """SELECT total_premium,quote_count,order_count from usr_statistics WHERE DAY = 20170422"""

#执行sql

cursor.execute(sql)#只用于select语句,返回一行的列名

desc =cursor.descriptionprint "00000000000000000"

printdesc#desc 将会输出 (('total_premium', 246, 7, 26, 26, 2, 0), ('quote_count', 3, 3, 11, 11, 0, 0), ('order_count', 3, 3, 11, 11, 0, 0))

object_dict=[

dict(zip([col[0]for col indesc],row))for row incursor.fetchall()

]

cursor.close()print "1111111111111111111"

printobject_dict#下面是object_dict的输出,太长了,已经给其换行

#[{'quote_count': 5L, 'total_premium': Decimal('200.00'), 'order_count': 7L},

#{'quote_count': 5L, 'total_premium': Decimal('200.00'), 'order_count': 7L},

#{'quote_count': 45L, 'total_premium': Decimal('999.00'), 'order_count': 78L},

#{'quote_count': 65L, 'total_premium': Decimal('999.00'), 'order_count': 78L},

#{'quote_count': 45L, 'total_premium': Decimal('888.00'), 'order_count': 78L},

#{'quote_count': 123L, 'total_premium': Decimal('523.00'), 'order_count': 23L},

#{'quote_count': 2L, 'total_premium': Decimal('211.00'), 'order_count': 21L},

#{'quote_count': 1L, 'total_premium': Decimal('0.00'), 'order_count': 23L},

#{'quote_count': 23L, 'total_premium': Decimal('213.00'), 'order_count': 23L},

#{'quote_count': 13L, 'total_premium': Decimal('1232.00'), 'order_count': 123L},

#{'quote_count': 0L, 'total_premium': Decimal('0.00'), 'order_count': 1L},

#{'quote_count': 0L, 'total_premium': Decimal('0.00'), 'order_count': 0L},

#{'quote_count': 0L, 'total_premium': Decimal('0.00'), 'order_count': 0L},

#{'quote_count': 0L, 'total_premium': Decimal('0.00'), 'order_count': 0L},

#{'quote_count': 0L, 'total_premium': Decimal('0.00'), 'order_count': 0L}]

object_list=[]

object_list_b=[]for i inobject_dict:

object_list.append(int(i.get("total_premium")))

object_list_b.append(i.get("quote_count"))print "22222222222222222222"

printobject_listprintobject_list_b#object_list输出 [200, 200, 999, 999, 888, 523, 211, 0, 213, 1232, 0, 0, 0, 0, 0]

#object_list_b输出 [5L, 5L, 45L, 65L, 45L, 123L, 2L, 1L, 23L, 13L, 0L, 0L, 0L, 0L, 0L]

conn.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值