Python读取excel并形成api接口案例

复制代码
from fastapi import FastAPI, HTTPException
import pandas as pd
import uvicorn
import configparser
import os

app = FastAPI(title="Excel读取API", version="1.0")

# 读取配置文件
current_dir = os.path.dirname(os.path.abspath(__file__))
config_path = os.path.join(current_dir, "config.ini")
config = configparser.ConfigParser()
config.read(config_path, encoding="utf-8")
EXCEL_FILE_PATH = config["EXCEL"]["file_path"]

# API接口
@app.get("/read-excel")
def read_excel(sheet_name: str | int = 0):
    try:
        df = pd.read_excel(EXCEL_FILE_PATH, sheet_name=sheet_name, engine="openpyxl")
        return {
            "code": 200,
            "msg": "读取成功",
            "columns": df.columns.tolist(),
            "data": df.to_dict("records")
        }
    except FileNotFoundError:
        raise HTTPException(status_code=404, detail=f"文件不存在:{EXCEL_FILE_PATH}")
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8002)
相关推荐
我命由我1234520 分钟前
Function Calling 模型
人工智能·python·学习·ai·学习方法·ai编程·ai写作
XMXFS1 小时前
小红书推荐算法底层逻辑解析:用数据思维做内容优化
python·算法·新媒体运营·推荐算法
hans7748829681 小时前
仅根据BMI反推身高和体重?还真能做到!只需要简单的数论知识~
python·数学
追光者492 小时前
我把 55 篇自动化日志翻了一遍:最容易出事的是这 4 个地方
python·自动化运维
2601_962885722 小时前
如何用 Python计算 CR能量指标(中间意愿指标)?
开发语言·python
打工仔折腾 AI2 小时前
LangChain 工具调用实战:从 Tool 定义到 Agent 执行链路拆解
java·前端·人工智能·后端·python·langchain·ai agent 实战
hhb_6182 小时前
Flask+SQLite实现用户管理接口
python·sqlite·flask
全栈练习生2 小时前
RAG 准确率保障的体系化方案
python·ai
秋秋小事2 小时前
python 基础知识总结(一)
python
蜗牛互联网2 小时前
Python调用Gemini Structured Outputs实现工单路由门禁
java·开发语言·人工智能·python