python3操作psycopg2/其它SQL数据库时查询数据以字典格式返回

本文主要是介绍python3操作psycopg2/其它SQL数据库时查询数据以字典格式返回,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    在python3中,操作pymysql或者psycopg2等SQL数据库进行数据查询时,它这个库里面好像并没有像python2一样在底层自动帮我们循环转换好以字典键值对的格式给我们返回数据(可能是我没找到),而是在列表里面以元组类型直接把值返回过来,这样就导致我们在取值的时候只能通过下标去取,很容易出错,非常的不方便。针对于此,我简单封装了一个方法,以psycopg2为例,在执行查询语句时,将结果转换成字典类型返回。demo如下:

import psycopg2def get_data(database_info,sql):conn = psycopg2.connect(database=database_info["database"], user=database_info["user"],password=database_info["password"],host=database_info["host"], port=database_info["port"])cur = conn.cursor()try:cur.execute(sql)#获取表的所有字段名称coloumns = [row[0] for row in cur.description]result = [[str(item) for item in row] for row in cur.fetchall()]return [dict(zip(coloumns, row)) for row in result]except Exception as ex:print(ex)finally:conn.close()
#数据库连接信息
database_info={"database":"test_base_inf","user":"data_inf_root","password":"BASE_root~589","host":"192.168.12.101","port":"2345"
}
sql="select * from nric_affiliation"
data=get_data(database_info,sql)
for item in data:print(item)

运行返回格式如图:

这样就变成了以字段键值对的格式了

#-------------------------------评论朋友反馈的新方法,确实可以用--------------------------------

def get_data(sql):conn = psycopg2.connect(database=GP_DATABASE, user=GP_USERNAME,password=GP_PASSWORD, host=GP_HOST,port=GP_PORT)cur = conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor)try:cur.execute(sql)return cur.fetchall()except Exception as ex:print(ex)finally:conn.close()data=get_data("select * from tb_flight where is_complete='false'")
print(data)

 

这篇关于python3操作psycopg2/其它SQL数据库时查询数据以字典格式返回的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/589815

相关文章

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Python位移操作和位运算的实现示例

《Python位移操作和位运算的实现示例》本文主要介绍了Python位移操作和位运算的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 位移操作1.1 左移操作 (<<)1.2 右移操作 (>>)注意事项:2. 位运算2.1

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Python ZIP文件操作技巧详解

《PythonZIP文件操作技巧详解》在数据处理和系统开发中,ZIP文件操作是开发者必须掌握的核心技能,Python标准库提供的zipfile模块以简洁的API和跨平台特性,成为处理ZIP文件的首选... 目录一、ZIP文件操作基础三板斧1.1 创建压缩包1.2 解压操作1.3 文件遍历与信息获取二、进阶技

Windows 上如果忘记了 MySQL 密码 重置密码的两种方法

《Windows上如果忘记了MySQL密码重置密码的两种方法》:本文主要介绍Windows上如果忘记了MySQL密码重置密码的两种方法,本文通过两种方法结合实例代码给大家介绍的非常详细,感... 目录方法 1:以跳过权限验证模式启动 mysql 并重置密码方法 2:使用 my.ini 文件的临时配置在 Wi