让 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 ...
随机推荐
- Vue.js 技术揭秘(学习) vue流程
new Vue() _init() mergeOptions $watch --> new Watch vm._render 生成VNode create diff patch vm._upda ...
- windows系统上安装mysql操作过程及常见错误处理
1.下载mysql免安装版本,下载地址:http://dev.mysql.com/downloads/mysql/ 解压到自己的目录 2.编辑配置文件: 新建一个文本文件,修改名称及后缀为my.ini ...
- Android Fragment 生命周期及其正确使用(建议使用自定义View替换Fragment)
使用Fragment 官方例子中显示: 例如:一个学生Fragment,需要传入studentId,进行http请求显示,那么setArguments后防止杀掉Fragment后,参数为0,显示不了数 ...
- 【原创】大数据基础之Quartz(1)简介、源代码解析
一简介 官网 http://www.quartz-scheduler.org/ What is the Quartz Job Scheduling Library? Quartz is a richl ...
- R语言仪表盘
单个仪表盘 导入包及代码: library(ggplot2) library("showtext") library(Cairo) library("Rmisc" ...
- js检测数据类型四种办法
面试题中经常会考js数据类型检测,今天我来分享一下js中常用的四种方法判断数据类型,欢迎指点更正. 废话不多说,直入正题. 1.typeof console.log(typeof "&quo ...
- SpringBoot 多数据源分布式事务
1.pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- Allegro PCB Design GXL (legacy) 设置自动保存brd文件
Allegro PCB Design GXL (legacy) version 16.6-2015 菜单Setup > User Preferences... 在User Preferences ...
- Python内置模块之configparse
一.概述 1.1.处理的文件形式 configparse 主要是用来处理类似于windows的 ini文件,这个文件的特点是有多个节(section),每个节下会存储多个k=v的值 如下配置 [har ...
- RabbitMQ 消息队列 二
一:查看MQ的用户角色 rabbitmqctl list_users 二:添加新的角色,并授予权限 rabbitmqctl add_user xiaoyao 123456 rabbitmqctl se ...