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 要简单些,这里将返回值封装成字典集合确实方便很多的。
只用过 Java 连接 MySQL 的,还没试过这个