快捷搜索: 王者荣耀 脱发

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

经验分享 程序员 微信小程序 职场和发展