10行代码实现的接口平台:基于pandas和Flask
10行代码实现的接口平台:基于pandas和Flask
初衷
基于python数据分析人员都非常熟悉pandas库,pandas库利用read_sql_query方法可以方便的从数据库中查询数据,也可以方便的把数据转换为json格式。 在有些场景下,比如data_v需要以接口作为后端,那么有没有一个简易的方法将dataframe快速的输出为接口呢? 利用Flask可以实现。
环境
linux操作系统 anoconda
代码
# 创建一个python文件 import pandas as pd import json from sqlalchemy import create_engine from flask import Flask app=Flask(__name__) db = create_engine(mysql+pymysql://user:pass@localhost/database_name) def get_df(sql): df = pd.read_sql_query(sql,db) return df.to_json(orient=records,force_ascii=False) @app.route(/) def hello(): return get_df(select * from company)
flask的route功能非常强大,后续可以借此实现各种灵活的功能。
# 启动flask export FLASK_APP=hello.py #在环境变量中指定flask的入口 export FLASK_ENV=development #设置为开发环境 nohup flask run --host=0.0.0.0 2>&1 & #启动flask,后台运行
在浏览器中输入ip:5000,即可看到接口输出的结果