python 查询 MySQL 数据库并返回字典集

1. 导入第三方库

import pymssql
import numpy as np
import pandas as pd

2. 创建数据库连接

'''
pymysql.Connect()参数说明
host(str):      MySQL服务器地址
port(int):      MySQL服务器端口号
user(str):      用户名
passwd(str):    密码
db(str):        数据库名称
charset(str):   连接编码
'''
def conn():
    try:
        connect = pymssql.connect(host='', user='', password='', database='')
        if connect:
            return connect
        else:
            return 
    except Exception as ex:
        return 

3. 根据 sql 语句进行查询

根据 sql 语句对数据库进行 (查询),返回值为字典集合

def selSql(sql):
    #sql 执行数据库语句
    lst = []
    try:
        # 调用函数建立连接
        connect = conn()
        #根据语句进行查询,返回值为DataFrame
        df = pd.read_sql(sql, connect)
        #DataFrame转为ndarray
        df1 = np.array(df)
        # 获取列名
        column_list = list(df.columns)
        for row in df1:
            # 循环每一行数据,组装成一个字典,然后得到字典的列表
            lst.append(dict(zip(column_list, list(row))))
    except Exception as ex:
        lst = []
        print(ex)
    finally:
        # 关闭数据库连接
        if connect:
            connect.close()
    return lst

4. 查询结果如下

输出结果是我们需要的字典集合,key 为字段名,value 是字段的值,这样使用查询出来的字段时就会非常方便。
python 查询 MySQL 数据库并返回字典集