pymysql之有序字典
#!/usr/bin/env python
#-*-coding:utf-8-*-
import pymysql
import json
import collections conn = pymysql.connect(host='xxx.xxx.xxx.xxx',
user='xxx',
passwd='xxx',
port=3308 ,
charset='xxx',
database='xxx',
cursorclass = pymysql.cursors.DictCursor) sql='select a.*,b.end_time,b.ret_msg,b.sql_sql,b.ddl_ret_status,b.task_id,b.dba_audit_res,c.audit_user as leader_audit_user,c.audit_status as leader_audit_status,c.audit_describe as leader_audit_status from sql_single as a join sql_ddl_information as b on a.`sql_request_id`=b.`sql_request_id` join sql_single_aduit as c on b.`sql_request_id`=c.`sql_request_id`'
cursor = conn.cursor()
cursor.execute(sql)
title=[] ret_msg=[]
for i in cursor.description:
title.append(i[0])
for i in range(cursor.rowcount):
new_dic = collections.OrderedDict()
count_msg=cursor.fetchone()
for key in title:
new_dic[key] = count_msg[key]
ret_msg.append(new_dic) metadata = json.dumps(ret_msg,ensure_ascii=False)
print(title)
print(metadata)
输出结果:
title:
['id', 'username', 'start_time', 'single_describe', 'db_instance_group', 'sql_request_id', 'sql_request_state', 'sql_request_type', 'dc_name', 'dba_describe', 'audit_user', 'select_req_end_time', 'end_time', 'ret_msg', 'sql_sql', 'ddl_ret_status', 'task_id', 'dba_audit_res', 'leader_audit_user', 'leader_audit_status', 'leader_audit_status'] metadata:
[
{
"id": 7,
"username": "xxx",
"start_time": "2018-12-21 17:29:38",
"single_describe": "的地方",
"db_instance_group": "didapinche_test5的Master",
"sql_request_id": "ddl-fbfcc4c802824dbc84c895ff8923cddd",
"sql_request_state": "n",
"sql_request_type": "ddl",
"dc_name": "testing",
"dba_describe": "没有理由.!!!",
"audit_user": "chensanhu",
"select_req_end_time": null,
"end_time": "",
"ret_msg": null,
"sql_sql": "dXNlIHRlc3QyOwp0cnVuY2F0ZSB0ZXN0Mw==",
"ddl_ret_status": "",
"task_id": null,
"dba_audit_res": null,
"leader_audit_user": "zhangkuikui",
"leader_audit_status": "n"
},
{
"id": 15497,
"username": "xxx",
"start_time": "2019-01-09 17:52:12",
"single_describe": "asdasd",
"db_instance_group": "didapinche_test5的Master",
"sql_request_id": "ddl-08187452d019480eb90e041cebf422ae",
"sql_request_state": "y",
"sql_request_type": "ddl",
"dc_name": "testing",
"dba_describe": "123",
"audit_user": "chensanhu",
"select_req_end_time": null,
"end_time": "2019-01-23 12:57:41",
"ret_msg": "eyJleGVjdXRlX2ZhaWxl",
"sql_sql": "dXNlIHRlc3Q=",
"ddl_ret_status": "ok",
"task_id": "1548219460.441335",
"dba_audit_res": "N0YWdlIjogIkNIRUNLRUQifV0=",
"leader_audit_user": "chenlin",
"leader_audit_status": "w"
}
]
pymysql之有序字典的更多相关文章
- Python_Day_05 计数器(counter),有序字典(OrderDict),默认字典(defaultdict),可命名元祖(namedtuple),双向队列(deque),单项队列(deuqe.Queue)
Counter(计数器) 是一个字典的子类,存储形式同样为字典,其中存储的键为字典的元素,值为元素出现的次数,在使用之前我们需要先导入文件 import collections 初始化一个计数器 im ...
- 计数器(counter),有序字典(OrderDict),默认字典(defaultdict),可命名元祖(namedtuple),双向队列(deque),单项队列(deuqe.Queue)
Python_Day_05 计数器(counter),有序字典(OrderDict),默认字典(defaultdict),可命名元祖(namedtuple),双向队列(deque),单项队列(deuq ...
- python基础知识4——collection类——计数器,有序字典,默认字典,可命名元组,双向队列
1.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能 Counter 我们从中挑选一些相对常用的方法来举例: 在上面的例子 ...
- python模块介绍- collections(5)-OrderedDict 有序字典
1.3.5 OrderedDict 有序字典 OrderedDict是dict的子类,它记住了内容添加的顺序. import collections print 'Regular dictionary ...
- python(3)-计数器,有序字典
计数器:Counter 在使用计数器之前需要先 import collections >>> import collections >>> obj = collec ...
- python有序字典实现代码
class MyDict(dict): #有序字典实现 def __init__(self): self.li = [] super(MyDict,self).__init__() def __set ...
- python-Day3-set 集合-counter计数器-默认字典(defaultdict) -可命名元组(namedtuple)-有序字典(orderedDict)-双向队列(deque)--Queue单项队列--深浅拷贝---函数参数
上节内容回顾:C语言为什么比起他语言块,因为C 会把代码变异成机器码Pyhton 的 .pyc文件是什么python 把.py文件编译成的.pyc文件是Python的字节码, 字符串本质是 字符数组, ...
- Python学习笔记——基础篇2【第三周】——计数器、有序字典、元组、单(双)向队列、深浅拷贝、函数、装饰器
目录 1.Python计数器Counter 2.Python有序字典OrderredDict 3.Python默认字典default 4.python可命名元组namedtuple 5.Python双 ...
- python 学习 有序字典
自定义创建有序字典类 dict的__getitem__方法 有些不同,想使用自定义__getitem__方法显示查询key的下标:需要研究 #/usr/bin/env python3 # -*- co ...
随机推荐
- [视频教程] 基于redis的消息队列实现与思考
使用redis的list列表来实现消息队列功能,相信大家都听过消息队列,但是在业务中可能并没有真正去使用它.在公司项目中正好有个场景使用到了消息队列,因此就来说一下流程.在web界面上有个功能是群发邮 ...
- nginx代理ambassador出现426错误
现在ambassador文档啃得差不多了.进入实战阶段. 一开始,就偶遇426错误. 网络结构大致如下: 浏览器访问nginx, nginx代理到k8s内的ambassador, ambassador ...
- C#所有经典排序算法汇总
1.选择排序 选择排序 class SelectionSorter { private int min; public void Sort(int[] arr) ...
- git 入门教程之 git bash 竟然不支持 tree 命令
开门见山 git bash 是 Windows 用户安装 git 时默认安装的命令行工具,不仅界面漂亮功能也不错,大多数情况下可以替代 Windows 原生的 cmd 命令行. 然而,git bash ...
- Metersploit系统参数说明
Back参数 Back参数主要⽤用于返回.⽐比如你进⼊入了了某⼀一个漏漏洞洞模块的设置,但是你想再重新选择一个漏漏洞洞模块,那么就需要⽤用到back参数. 这张图说明,才开始我使用了ms08_067_ ...
- 第04组 Alpha冲刺(5/6)
队名:new game 组长博客:戳 作业博客:戳 组员情况 鲍子涵(队长) 燃尽图 过去两天完成了哪些任务 才两天,也就是实现一些功能而已 复习了一下SuffixAutomata 接下来的计划 实现 ...
- 强大的性能监测工具dstat
强大的性能监测工具dstat 本节分为以下几个部分: dstat介绍: dstat命令是一个用来替换vmstat.iostat.netstat.nfsstat和ifstat这些命令的工具,是一个全能系 ...
- J2EE中的过滤器和拦截器
过滤器和拦截器的相似之处就是拦截请求,做一些预处理或者后处理. 而过滤器和拦截器的区别在于过滤器是相对HTTP请求而言的,而拦截器是相对Action中的方法的. 过滤器:访问web服务器的时候,对一个 ...
- python asyncio run_until_complete
import asyncio def callback(loop, i): print("success time {} {}".format(i, loop.time())) a ...
- Autoware 培训笔记 No. 2——基于点云的定位
1. 前言 构建出地图后,应该测试点云地图定位效果,这里用到ndt的scan_matching方法,这是一种scan-to-map方法.这里用的是我们自己采集的数据进行仿真. 本章内容有和No. 1重 ...