博客
关于我
python基于flask搭建http服务(一)—— 实现数据查询和Excel导出
阅读量:797 次
发布时间:2023-03-07

本文共 1630 字,大约阅读时间需要 5 分钟。

技术点

本项目采用多种技术手段实现功能开发,以下是主要技术点:

  • Flask搭建简易的HTTP服务

    采用Flask框架快速搭建后端服务,支持多路由定义和返回数据。

  • Flask-Cors配置跨域请求

    使用Flask-Cors插件,轻松配置跨域访问权限,解决前后端通信中的CORS问题。

  • PyMySQL实现数据库查询

    采用PyMySQL来处理数据库操作,支持事务处理、参数化查询等功能。

  • SQLAlchemy实现数据库查询

    使用 SQLAlchemy ORM 对数据库进行抽象化操作,便于代码管理和数据库交互。

  • XLWT生成Excel文件(带样式)与导出

    通过XLWT库实现高质量的Excel文件生成,支持样式格式化和多工作表导出。

  • Pandas实现Excel文件生成与导出

    使用Pandas库进行数据处理和Excel文件生成,支持批量导出和格式化处理。

  • 具体实现

    2.1 目录结构

    项目结构清晰,便于后续开发和维护。以下是主要文件目录:

    .
    ├── main.py # 主程序入口
    ├── config.py # 配置文件,包含数据库信息等
    ├── routes.py # 路由定义文件
    ├── models.py # 数据模型定义文件
    ├── utils.py # 工具函数库
    └── static/ # 静态资源文件夹
    └── excel/ # Excel模板文件夹

    2.2 main.py

    from flask import Flask, request, render_template
    from flask_cors import CORS
    from sqlalchemy import create_engine
    from sqlalchemy.orm import sessionmaker
    import pymysql
    import pandas as pd
    import xlwt
    from datetime import datetime
    import os
    app = Flask(__name__)
    CORS(app)
    # 数据库配置
    DB_URL = "mysql://用户名:密码@localhost:3306/数据库名"
    engine = create_engine(DB_URL)
    Session = sessionmaker(bind=engine)
    session = Session()
    @app.route("/")
    def index():
    return "欢迎访问"
    @app.route("/data")
    def query_data():
    data = session.query("SELECT * FROM 表名").first()
    return {"status": "success", "data": data}
    @app.route("/export")
    def export_data():
    # 查询数据并导出
    df = pd.read_sql("SELECT * FROM 表名", session.connection)
    # 生成Excel文件
    writer = pd.ExcelWriter("输出文件.xlsx", engine="openpyxl")
    df.to_excel(writer, sheet_name="数据", index=False)
    writer.save()
    return "文件已生成"
    if __name__ == "__main__":
    app.run(debug=True)

    以上是项目的主要实现内容,结合了前端跨域处理、数据库操作、数据处理与导出等多种技术点。

    转载地址:http://cmofk.baihongyu.com/

    你可能感兴趣的文章
    python 多进程-进阶-进程池
    查看>>
    python 多进程-进阶-进程间通信之Pipe
    查看>>
    python 多进程-进阶-进程间通信之Queue
    查看>>
    Python编程快速入门
    查看>>
    Python编程基础(附Pycharm与开发环境)
    查看>>
    python 如何“否定“value : 如果为真则返回假,如果为假则返回真
    查看>>
    Python 如何在 Web 环境中使用 Matplotlib 进行数据可视化
    查看>>
    python 如何把字符串转换成浮点数
    查看>>
    python 如果文件夹不存在就创建文件夹
    查看>>
    Python 如果有很多或以收缩形式
    查看>>
    Python 子进程 Popen 与 Pyinstaller
    查看>>
    Python 子进程 Popen.communicate() 等价于 Popen.stdout.read()?
    查看>>
    Python 子进程 Popen:为什么会出现“ls *.txt“?不行?
    查看>>
    Python 子进程参数
    查看>>
    python 字典 key 和value 互换
    查看>>
    Python 字典 vs If 语句速度
    查看>>
    python 字典sorted自定义排序,按照key or value排序
    查看>>
    python 字典和列表区别_元组列表和字典的主要区别是什么?
    查看>>
    python 字符串中特定字符替换,截取
    查看>>
    Python 字符串总结
    查看>>