让 Python 的1、数据库查询返回字典记录--- 2、利用zip函数将两个列表(list)组成字典(dict)
让 Python 的数据库查询返回字典记录:
https://yanbin.blog/python-database-query-return-dictionary-result/#more-9179
前言:利用zip函数将两个列表(list)组成字典(dict)
# 使用zip函数, 把key和value的list组合在一起, 再转成字典(dict).
keys = ['a', 'b', 'c']
values = [1, 2, 3]
dictionary = dict(zip(keys, values))
print(dictionary) """
输出:
{'a': 1, 'c': 3, 'b': 2}
"""
1、通用方式(适用于所有数据库)
# 首先,前面提到的,查询后的字段名称可由cursor.description获得,下面的代码会打印出每个字段的名称 # for col in cursor.description:
# print(col[0])
# # 如果把字段时的列表与每一行结果的Tuple以zip相结合就能得到一个字典行
import pymssql conn=pymssql.connect( host = '172.17.0.128\PTSY', user = 'sa', password = 'cszx@123', database = 'MDM_TEST')
cursor=conn.cursor()
# sql="select table_name from NSTM_CODESYSTEM where code='HospInfo' and version='5.0.2'"
sql="select * from NSTM_V_aflnmxdn"
cursor.execute(sql)
columns = [column[0] for column in cursor.description]
for row in cursor.fetchall():
print(dict(zip(columns, row)))
cursor.close()
conn.close() '''输出结果如下:
{'NSTM_VC_ID': 7, 'NSTM_VC_BUSINESSSTEP': 6, 'NSTM_VC_CODESYSID': 2246, 'NSTM_VC_CREATEDTIME': '2019-04-09 14:51:19.037', 'NSTM_VC_MODIFIEDTIME': '2019-04-11 17:58:43.287', 'NSTM_VC_PUBLISHEDTIME': None, 'NSTM_VC_VERSION': '1', 'NSTM_VC_KEYSTR': '上海医疗(01)', 'NSTM_VC_PARTICIPLE': '上海||医疗', 'orgCode': '01', 'orgName': '上海医疗', 'pareOrgCode': 'org_1', 'pareOrgType': '医院', 'addrProvince': '上海市', 'addrCity': '上海市', 'addrCounty': '静安区', 'addrTown': '寿阳路', 'addrVillage': '99弄', 'addrHouseNo': '卫宁健康', 'hospLevel': '01', 'hospType': Decimal('1'), 'orgInstCode': '11', 'socialCreditCode': '6660101', 'designatedBeds': 9999, 'validStartDTime': '20190409', 'validEndDTime': '20990409', 'activeSign': '1', 'verNo': '2.1'}
'''
2、SQLServer返回字典结果集
# 用SQLServer的驱动pymssql让结果集返回为字典的方式就更为直截了当,只需要设置cursor的as_dict属性为True就行了。详见下方代码 import pymssql conn = pymssql.connect(host = '172.17.0.128\PTSY', user = 'sa', password = 'cszx@123', database = 'MDM_TEST')
cursor = conn.cursor(as_dict=True) cursor.execute('select * from test')
print(cursor.fetchall()) # 打印的结果为 [{'name': 'Bob', 'count': 1}, {'name': 'Joe', 'count': 8}]
让 Python 的1、数据库查询返回字典记录--- 2、利用zip函数将两个列表(list)组成字典(dict)的更多相关文章
- python操作oracle数据库-查询
python操作oracle数据库-查询 参照文档 http://www.oracle.com/technetwork/cn/articles/dsl/mastering-oracle-python- ...
- laravel数据库查询返回的数据形式
版本:laravel5.4+ 问题描述:laravel数据库查询返回的数据不是单纯的数组形式,而是数组与类似stdClass Object这种对象的结合体,即使在查询构造器中调用了toArray(), ...
- [译]在Python中如何使用额enumerate 和 zip 来迭代两个列表和它们的index?
enumerate - 迭代一个列表的index和item <Python Cookbook>(Recipe 4.4)描述了如何使用enumerate迭代item和index. 例子如下: ...
- SSM获取表单数据插入数据库并返回插入记录的ID值
以下指示插入操作以及获取记录值的ID的部分操作代码!!! 首先是简单的表单实现 <%@ page language="java" contentType="text ...
- python两个列表合并为字典,一个作为key,一个作为value
两个列表合并为一个字典函数list_dic(list1,list2)可以直接复制拿走 传入的参数为两个列表,list1准备作为key,list2准备作为value,key和value位置一一对应. d ...
- Python - 两个列表(list)组成字典(dict)
使用zip函数, 把key和value的list组合在一起, 再转成字典(dict). 代码: # -*- coding: utf-8 -*- keys = ['a', 'b', 'c'] value ...
- 将两个列表合并为字典_其中一个列表为Key_一个列表为Value
#定义两个列表 list1 = range(0,10) list2 = range(10,20) #合并为字典,调用dict(zip()) dict_name = dict(zip(list1,lis ...
- 数据库查询返回Resource id #9后的处理方式
如果在调用PHP查询数据库,在echo后返回的是Resource id #9,可能你的输出方式是: $sql="SELECT * FROM dbname WHERE id='1'" ...
- Python版的数据库查询构造器、ORM及动态迁移数据表。
Orator Orator提供一个简单和方便的数据库数据处理库. 它的灵感来源于PHP的Laravel框架,借助其思想实现了python版的查询构造器和ORM. 这是完整的文档:http://orat ...
随机推荐
- 软件测试之adb命令-实际公司使用场景--今日log
软件测试之adb命令-实际公司使用场景--今日log Dotest-董浩整理 1)可以看内存泄漏: 2)可以安装.卸载app--截图并提交bug: 3)可以通过抓app日志定位问题: 4)可以结合mo ...
- 【听大佬rqy分享有感】
rqy,一个神奇的名字,一个神奇的物种. 初三自学高等数学,无师自通:获得了大大小小的oi奖项:是也一直是山东省信息学的“红太阳”:今天听了他的分享,真的很有帮助. 1. 不必太较真:遇到不会的高数 ...
- 排序算法以及其java实现
一.术语了解 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面: 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面: 内排序:所有排序操作都在内存中完成: 外排序:由 ...
- 第一天 Requests库入门
Requests库的get()方法 requests.get(url, params=None, **kwargs) ∙ url : 拟获取页面的url链接 ∙ params : url中的额外参数, ...
- windows10 php7安装mongodb 扩展及其他扩展的思路
1. 打开phpinfo 查看 nts(非线程) 还是 ts (线程),然后查看操作位数 注: 86 等于 32 位 ,和你的windows系统64 or 32位无关.比如我的: 2. 下载对应的版本 ...
- 微信小程序 canvas 内容(宽高) 兼容不同机型
此功能并没有做所有机型测试,后面会一个一个做一下,如需使用请先自作测试! canvas在小程序中设定的尺寸默认是px 并不是rpx的 所以需要转换一下 PS:设计稿是750像素 wx.getSyste ...
- IDEA 通过Maven创建Spring MVC项目搭建
概述 本篇随笔主要记录内容如下: 1.通过Maven创建基于Spring Framework类库的MVC项目,免去了繁琐的XML配置: 2.在Idea里面配置Tomcat的测试启动项: Maven创建 ...
- 使用EasyNetQ简化RabbitMQ操作
关于具体的操作看查看官方文档:https://github.com/EasyNetQ/EasyNetQ 也可以参考中文翻译版本:http://www.cnblogs.com/HuangLiang/p/ ...
- .net core 2.x - 缓存的四种方式
其实这些微软docs都有现成的,但是现在的人想对浮躁些,去看的不会太多,所以这里就再记录下 ,大家一起懒一起浮躁,呵呵. 0.基础知识 通过减少生成内容所需的工作,缓存可以显著提高应用的性能和可伸缩性 ...
- HTTPS开发(SSL--用Tomcat服务器配置https双向认证)
准备工作: 1.windows+R cmd 打开命令窗口 2.输入:cd C:\Program Files\Java\jdk1.7.0_80\bin 进入路径找到keytool工具 为服务器生成证书 ...