本文在提供一种方式,实现执行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.description
print ""
print desc
# 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 in desc],row))
for row in cursor.fetchall()
] cursor.close() print ""
print object_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 in object_dict:
object_list.append(int(i.get("total_premium")))
object_list_b.append(i.get("quote_count")) print ""
print object_list
print object_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()

本文链接:http://www.cnblogs.com/xuchunlin/p/6676300.html

python 执行sql得到字典格式数据的更多相关文章

  1. 使用python执行sql语句和外键解析

    一.下载并导入pymysql pip install pymysql && import pymysql db=pymysql.connect(host=) #如果报错host大概率因 ...

  2. python执行 sql 语句

    写的很好 import pymysql conn = pymysql.connect(host = '127.0.0.1',port = 3306,user = 'root',passwd = '12 ...

  3. 使用Python解析豆瓣上Json格式数据

    现在的API接口多为xml或json,json解析更简洁相对xml来说 以豆瓣的API接口为例,解析返回的json数据: https://api.douban.com/v2/book/1220562 ...

  4. 将python的字典格式数据写入excei表中

    上面的为最终结果 import requests import re import xlwt import json # 导入必须的包: xlwt,json,requests,re. headers ...

  5. python入门23 pymssql模块(python连接sql server增删改数据 )

    增删改数据必须connect.commit()才会生效 回滚函数 connect.rollback() 连接数据库 ''' dinghanhua sql server增删改 ''' import py ...

  6. python执行sql语句

    dbname = 'db.sqlite3' dbpath = 'D:\\pyweb\\sf\\db.sqlite3' csvpath = pspath #custom thread number tn ...

  7. Python 学习 第17篇:从SQL Server数据库读写数据

    在Python语言中,从SQL Server数据库读写数据,通常情况下,都是使用sqlalchemy 包和 pymssql 包的组合,这是因为大多数数据处理程序都需要用到DataFrame对象,它内置 ...

  8. python代码执行SQL文件(逐句执行)

    一.简介 关于Python如何连接数据库并执行SQL语句,几乎所有的Python教程都会讲,教程里基本只介绍了执行单条SQL语句的方法,但是实际生产过程中可不只是执行一两条语句,动辄几十条甚至上百条的 ...

  9. PHP生成和获取XML格式数据

    在做数据接口时,我们通常要获取第三方数据接口或者给第三方提供数据接口,而这些数据格式通常是以XML或者JSON格式传输,本文将介绍如何使用PHP生成XML格式数据供第三方调用以及如何获取第三方提供的X ...

随机推荐

  1. UVa 11987 Almost Union-Find (虚拟点)【并查集】

    <题目链接> 题目大意: 刚开始,1到n个集合中分别对应着1~n这些元素,然后对这些集合进行三种操作: 输入 1 a b 把a,b所在的集合合并 输入 2 a b 把b从b所在的旧集合移到 ...

  2. 使用CCS调试基于AM335X的SPL、Uboot(原创)

    使用CCS调试基于AM335X的SPL.Uboot 一.开发环境 1.硬件平台:创龙AM3359核心板 2.SDK版本:ti-processor-sdk-linux-am335x-evm-03.00. ...

  3. macOS packages安装时的降级处理

    一.降级安装 在制作macOS的pkg安装包时,一般新发布的程序版本会比旧版本更高.但是有的时候我们也希望在安装的时候,对程序的某些依赖库进行降级安装.比如高版本依赖库中出现了一些Bug,使用旧版本的 ...

  4. iOS APP提交上架流程

    转载自CocoaChina,链接地址:http://www.cocoachina.com/bbs/read.php?tid=330302 后面问题我也遇到了,参考该文章解决的 转自http://blo ...

  5. 使用SpringSecurity

    前几天写了一个SpringBoot对拦截器的使用,在实际项目中,对一些情况需要做一些安全验证,比如在没有登录的情况下访问特定的页面应该解释的拦截处理.这一篇介绍使用SpringSecurity来做简单 ...

  6. PHP.ini 文件大小限制

    post_max_size=80000000000M upload_max_filesize=2000000000M

  7. c# 获取键盘的输入

    c# 获取键盘的输入   Console 类公开了三个方法获取键盘的输入,分别是Read .Readkey.ReadLine Read方法: 每次只能读入一个字符,如果没有字符可以读,返回-1,Rea ...

  8. 2017-10-5-Python

    想学习Python很长时间了,工作中使用Python脚本解决问题真的很爽. 插入一张Python的py文件常见的结构图: if __name__ =="__main__" 这条语句 ...

  9. java反射机制基础

    java反射机制: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和 属性:这种动态获取信息以及动态调用对象方法的功能称为j ...

  10. JS 之 script标签

    1.script标签 1.js代码的解析(包括下载js文件)会阻塞页面加载 2.当js文件放在头部,页面必须等所有js代码都被下载,解析和执行完成后才开始呈现页面内容(遇到body标签才呈现),对于那 ...