本文在提供一种方式,实现执行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. PostgreSQL 调用存储过程返回结果集

    创建返回结果集类型的存储过程: CREATE OR REPLACE FUNCTION public.f_get_member_info( id integer, productname charact ...

  2. FasterRCNN代码解读

    之前的文章简要介绍了Faster-RCNN等物体检测的算法,本文将从代码角度详细分析介绍Faster-RCNN的实现.本文使用的代码参考了chenyuntc的实现,代码的位置看这里.需要注意的是,本文 ...

  3. ICPC Asia Regional 2015 Japan.Routing a Marathon Race(DFS)

    vjudge \(Description\) 给定一张\(n\)个点\(m\)条边的无向图,每个点有一个权值.求一条从\(1\)到\(n\)的路径,使得代价最小,输出最小代价. 一条路径的代价定义为, ...

  4. Spring Boot基础讲解

    Spring Boot Spring Boot 是由Pivotal团队提供的框架,它并不是一个全新的框架,而是将已有的 Spring 组件整合起来,设计目的是用来简化新Spring应用的初始搭建以及开 ...

  5. Mysql中大数据类型的存取

    标准SQL中提供了八种大数据类型 上面四种是针对字节数据(二进制字符串类型,主要存储图片.音频信息等),下面四种是针对字符数据(非二进制字符串类型,纯文本文件). MySql中不使用标准SQL中针对字 ...

  6. DP专题:划分数问题

    一.这个专题有什么用 练练DP 练练组合数学 ...... 二.正题 此类问题有如下几种形态: 1. 将n划分成若干正整数之和的划分数.2. 将n划分成k个正整数之和的划分数.3. 将n划分成最大数不 ...

  7. C#扩展方法实现

    C#提供了一种机制,可以扩展系统或者第三方类库中的方法.比如说想在string类型的对象里面多一个ToInt32(),来方便的将字符转换成整形.在实现的过程中的关键字为static和this即可.   ...

  8. asp.net缓存 (转)

    原文地址 http://www.cnblogs.com/knowledgesea/archive/2012/07/10/2530436.html 谢谢 一.缓存概念,缓存的好处.类型.         ...

  9. “百度杯”CTF比赛 九月场---123

    右键查看源代码 然后构造user.php,显示空白,源码也是空白,既然上边说用户名,密码了,参考大佬的博客,放文件user.php.bak这是备份文件,一打开上边全是用户名,有戏,爆破 添加字典,也就 ...

  10. D. Cutting Out 二分

    题意是给你n个数字的序列,让你从中找含k个数字的序列,要求这k个数字要尽可能多次的从n个数字的序列中减去. 解法就是从1到n,二分查找可以删除的最大次数. http://codeforces.com/ ...