效果展示
代码详解
2.1 导入库
2.2 连接数据库
2.3 执行sql
2.4 处理数据

在正式进入代码讲解之前,先来看下自动定时发送邮件的实现效果。


本小节会详细阐述如何应用python实现连接数据库跑数。主要思路是:
step1:连接数据库,创建游标。
step2:确定跑数脚本,执行跑数代码。
step3:对得到的执行结果进行数据处理。
1 导入库
首先导入本文需要加载的库,如果你有些库还没有安装,导致运行代码时报错,可以在Anaconda Prompt中用pip方法安装。
import datetimeimport pymysqlimport numpy as pyimport pandas as pd
2 连接数据库
导入库后,执行如下连接数据库代码。
db = pymysql.connect(host='10.101.2.36', #要连接的主机地址user='selxxx', #用于登录的数据库用户password='selxxx@123', #用户密码database='xxx_loan', #要连接的数据库port=3306, #连接的端口charset='', #字符编码use_unicode=None, #是否使用unicode编码connect_timeout=10000 #连接超时时间)cursor = db.cursor() #创建一个游标
3 执行sql
接着,执行sql语句,得到数据结果。
#版本一:直接在程序中写sqlsql_recent_5d_sx = '''selectappl_date,count(distinctcase when u.appl_type=1then loan_appl_noelse nullend) as `申请量`,count(distinctcasewhen u.appl_type=1and OUT_TEMPDECISION = 'PASS'then loan_appl_noelse nullend) as `系统自动通过量`from table''' #sql脚本cursor.execute(sql_recent_5d_sx) #执行sql语句sql_result = cursor.fetchall() #取出操作返回的所有的行#版本二:把sql存到txt文档中sql_path_recent_5d_sx = r'C:\Users\xzy\recent_5day_sx.txt' #标记sql存储路径sql_recent_5d_sx = open(sql_path_recent_5d_sx, encoding='utf-8').read() #打开sql脚本并读取sqlcursor.execute(sql_recent_5d_sx) #执行sql语句sql_result = cursor.fetchall() #取出操作返回的所有的行
当sql语句较长时,建议使用版本二,会让python代码更清晰和整洁。
其中sql_result存储的就是执行sql语句后得到的全量数据。
4 处理数据
最后,对得到的全量数据根据需求进行个性化处理。
data_recent_5d_yx = pd.DataFrame(sql_result)data_recent_5d_yx.columns = ['date','用信申请笔数','用信通过笔数','用信通过率','用信金额','白条支付占比','白条提现占比','白条外部用款占比','先息后本占比','等额本息占比']data_recent_5d_yx = data_recent_5d_yx.Tdata_recent_5d_yx.columns = data_recent_5d_yx.iloc[0]data_recent_5d_yx = data_recent_5d_yx.iloc[1:]for i in data_recent_5d_yx.columns:data_list_2.remove(i)for i in data_list_2:data_recent_5d_yx[i] = 0data_recent_5d_yx_f = data_recent_5d_yx[data_list_0]


扫一扫关注我
13162366985
投稿微信号、手机号