专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

sql查询结果为元组类型,将结果转换成字典类型返回

postgresql自带输出字典格式功能:

connsql = psycopg2.connect(database=dbname, user=user, password=psw, host=host, port=dbport)
cur = connsql.cursor(cursor_factory=psycopg2.extras.RealDictCursor)

在mysql中有原生提供的字典形式的游标

cursor= connect.cursor(pymysql.cursors.DictCursor)

sqlite3

docs.python.org/2/library/s…

import sqlite3

def dict_factory(cursor, row):
    d = {}
    for idx, col in enumerate(cursor.description):
        d[col[0]] = row[idx]
    return d

con = sqlite3.connect(":memory:")
con.row_factory = dict_factory
cur = con.cursor()
cur.execute("select 1 as a")
print cur.fetchone()["a"]

其它数据库可参考:sql查询结果为元组类型,将结果转换成字典类型返回

import psycopg2

def 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":"db_s",
    "user":"dba",
    "password":"pwd",
    "host":"192.168.1.101",
    "port":"5432"
}
sql="select * from tbl_tba"
data=get_data(database_info,sql)
for item in data:
    print(item)

链接:blog.csdn.net/qq_32502511…

文章永久链接:https://tech.souyunku.com/42129

未经允许不得转载:搜云库技术团队 » sql查询结果为元组类型,将结果转换成字典类型返回

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们