【发布时间】:2021-07-04 12:09:00
【问题描述】:
尊敬的社区成员,
我是 FastAPI 的新手,我正在尝试将 pandas 数据框显示为 FastAPI 输出,但我无法获得所需的结果。这是我已经完成的事情:
from fastapi import FastAPI, Body, Request, Form
from pydantic import BaseModel
from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates
import pandas as pd
app = FastAPI()
templates = Jinja2Templates(directory="htmlDirectory")
class NameValues(BaseModel):
Check : str = None
@app.get("/home", response_class = HTMLResponse)
def home(request:Request):
return templates.TemplateResponse("introduction.html", {"request": request})
@app.post("/displayDF")
async def handle_df(Check: str = Form(...)):
print("User input : ", Check)
test_list = [["Joe", 34, "Accounts", 10000], ["Jack", 34, "Chemistry", 20000]]
data = pd.DataFrame(data=test_list, columns=["Name", "Age", "Dept.", "Salary"])
return data.to_html()
输出显示如下截图:
有没有办法以熊猫数据框格式实际获得 输出? 如下所示:
另外,下面是“htmlDirectory”代码,如果必须在此处进行一些更改。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Home</title>
</head>
<body>
<h2>Please enter a string in the space provided</h2>
<form action="/displayDF" method="post">
<input type="text" name="Check">
<input type="submit">
</form>
</body>
</html>
【问题讨论】:
标签: python-3.x fastapi