博客
关于我
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 中os.path.join 双斜杠的解决办法
    查看>>
    python 中PIL.Image和OpenCV图像格式相互转换
    查看>>
    Python 中Semaphore 信号量对象、Event事件、Condition
    查看>>
    python 中with的使用及样例
    查看>>
    python读取txt文件的行数
    查看>>
    Python 中内置的最大堆 API
    查看>>
    Python 中只有一个 True 和一个 False 对象吗?
    查看>>
    python读取mtcars数据集并实现以下操作_关于数据处理。。,Python交流,技术交流区,鱼C论坛 - Powered by Discuz!...
    查看>>
    Python 中多线程与多处理之间的区别
    查看>>
    Python 中如何使用 lambda 函数
    查看>>
    Python 中如何创建多行字符串?
    查看>>
    Python 中如何处理异常?
    查看>>
    Python 中如何实现列表的切片?
    查看>>
    Python 中如何实现字典的排序?
    查看>>
    Python 中常用的数据类型及相关操作详解
    查看>>
    python 中文乱码
    查看>>
    Python 中生成器与普通函数的区别
    查看>>
    Python 中的多进程(02/2):进程之间的通信)
    查看>>
    Python 中的字符串、列表、元组和字典数据类型的特点和使用场景
    查看>>
    Python 中的属性访问器是什么?如何使用 @property 装饰器?
    查看>>