fastapi 上传excel文件
时间: 2024-09-20 11:11:12 浏览: 46
fastapi相关.txt
FastAPI 是一个用于构建 web API 的现代高性能框架,它本身并不直接支持 Excel 文件上传,但它可以与第三方库如 `fastapi-file-upload` 或 `python-excel` 结合来处理这项任务。
首先,你需要安装必要的依赖。例如,你可以使用 `starlette-files` 库来处理文件上传,并结合 `pandas` 来读取 Excel 文件:
```bash
pip install starlette files pandas openpyxl # 如果需要读取 Excel 文件
```
接下来,创建一个 FastAPI路由来接收文件上传:
```python
from fastapi import FastAPI, File, UploadFile
import pandas as pd
app = FastAPI()
@app.post("/upload_excel")
async def upload_excel(file: UploadFile = File(...)):
file_name = file.filename
file_bytes = await file.read()
try:
df = pd.read_excel(io=BytesIO(file_bytes), engine="openpyxl") # 使用openpyxl引擎读取Excel
# 对数据进行处理...
return {"message": f"Excel file {file_name} uploaded successfully.", "data": df.head() if display_first_rows else {}}
except Exception as e:
return {"error": str(e)}
```
在这个例子中,用户通过 POST 请求将一个名为 `file` 的文件上传到 `/upload_excel` 路由。文件内容会被读取并转换成 `pandas` DataFrame。如果读取过程中有错误,会返回错误信息。
阅读全文