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,即可看到接口输出的结果
