本文在提供一种方式,实现执行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. HDU1029 Ignatius and the Princess IV (水题)

    <题目链接> 题目大意:给你一段序列,问你在这个序列中出现次数至少为 (n+1)/2 的数是哪个. 解题分析: 本题是一道水题,如果用map来做的话,就非常简单,但是另一个做法还比较巧妙. ...

  2. provisional headers are shown 知多少

    前言 请求里面provisional headers are shown(显示临时报头) 出现的情况很多,但原因是多样的. 如果你去直接匹配关键字搜索,得到的结果可能与你自己的情况大相径庭. 网上大部 ...

  3. BZOJ-2-4870: [Shoi2017]组合数问题 矩阵优化 DP

    就 是 要 我 们 从  n k  件 物 品 里 面 选 出 若 干 件,使 得 其 数 量 模 k 等 于 r 的 方 案 数 . dp方程 f [ i , j ] 表示前 i 件物品拿了若干件使 ...

  4. z-index使用及一定要加backgroun

    代码: <div> <span style="display:block;width:40px;height:20px;border:1px solid red;posit ...

  5. sql 多行转多列,多行转一列合并数据,列转行

    下面又是一种详解:

  6. PHPstorm配置SVN的问题

    开始尝试用PHPstorm做项目开发,在集成SVN的时候碰到了问题. 1. PHPstorm Cannot run program "svn" 2. Subversion comm ...

  7. BZOJ.3307.雨天的尾巴(dsu on tree/线段树合并)

    BZOJ 洛谷 \(dsu\ on\ tree\).(线段树合并的做法也挺显然不写了) 如果没写过\(dsu\)可以看这里. 对修改操作做一下差分放到对应点上,就成了求每个点子树内出现次数最多的颜色, ...

  8. SSM项目搭建

    1.新建包 com.javen.controller com.javen.service com.javen.dao com.javen.domain com.javen.mapper 2.log4j ...

  9. 2110 ACM Crisis of HDU 母函数

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2110 题意:分出1/3的价值,有几种可能? 思路:母函数 与之前的题目2079相似,复习笔记再来写代码: ...

  10. vue动态切换视图

    big.vue <template> <div> big <p>{{view}}</p> <!--标准规范--> <component ...