如何调用FastAPI文件上传路由[重复]

问题描述 投票:0回答:2

我已经编写了 FastAPI 来上传文件,但在我的新要求中,我必须创建 CLI 来上传文件,以便我调用路由函数。

@app.post("/uploadfile/")
async def create_upload_file(file: Uploadfile =File(...));
      pd.DataFrame = pd.read_csv(file.file)
      return True

create_upload_file(文件=UploadFile(input_file_path))

当我尝试读取该文件时,例如:claims: pd.DataFrame = pd.read_csv(file.file) 我收到以下错误

没有要从文件中解析的列

python pandas file-upload function-call fastapi
2个回答
2
投票

您可以按如下方式读取csv:

from io import BytesIO
df = pd.read_csv(BytesIO(file.file.read()))

0
投票

您可以尝试读取并解码文件中的内容,然后使用 pandas 读取 csv。

from io import StringIO
import pandas as pd

@app.post("/uploadfile/")
async def create_upload_file(file: Uploadfile =File(...)):
      file = StringIO((await file.read()).decode("utf-8"))
      df = pd.read_csv(file)
      return True
© www.soinside.com 2019 - 2024. All rights reserved.