博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 执行sql得到字典格式数据
阅读量:6974 次
发布时间:2019-06-27

本文共 2826 字,大约阅读时间需要 9 分钟。

本文在提供一种方式,实现执行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 "00000000000000000"        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 "1111111111111111111"        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 "22222222222222222222"        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://rpesl.baihongyu.com/

你可能感兴趣的文章
C++访问权限
查看>>
ArcMap属性的列菜单简介
查看>>
【2011.9.20】基于CXF Web Service:Apache CXF简单部署 .
查看>>
jquery Flexigrid的使用
查看>>
Inotify + rsync
查看>>
详解JDBC驱动的四种类型
查看>>
1.jQuery基础语法 2.jQuery选择器、操作页面文档元素 3.jqueryDOM操作 4.jqueryCSS操作 5.Jquery事件 6.Jquery动画...
查看>>
用于软件包管理的21个Linux YUM命令 转载
查看>>
中风从水治案
查看>>
图像处理之基础---一维小波变换,可多次分解
查看>>
SQL Server 内存使用量下降问题
查看>>
泛型中的类型约束和类型推断
查看>>
嵌入式驱动开发之dsp fpga通信接口---spi串行外围接口、emif sram接口
查看>>
网络协议之socks---子网和公网的穿透
查看>>
Java控制语句——if语句
查看>>
BadUSB的防范研究
查看>>
struts2中从数据库中读取数据,并在JSP页面中遍历保存有JavaBean对象的List对象
查看>>
网站flash黑屏问题
查看>>
JAVA TIMER定时器
查看>>
GitHub 实现多人协同提交代码并且权限分组管理
查看>>