LoginSignup
0
0

More than 1 year has passed since last update.

FastAPI メモ

Last updated at Posted at 2022-05-15

FastAPIメモ

FastAPIの自分用メモです。

複数ファイルのアップロード方法

  • FastAPIで一つのファイルをアップロードする場合、 例として以下のように記述する。
app = FastAPI()

@app.post("/api/")
async def upload(
    students:UploadFile = File(...)
    ):
    ...
  • 呼び出し側から2つ以上のファイルをアップロードする場合
    • 下記は名前がstudentsとteachersに分かれている。
curl -X POST -F students=@students.csv -F teachers=@teachers.csv http://localhost:8000/api

以下のように記述することでそれぞれ別に取得できる。

app = FastAPI()

@app.post("/api/")
async def upload(
    students:UploadFile = File(...), 
    teachers:UploadFile = File(...)
    ):
    ...

(とりあえずなんでも受け取れるようにして、後から一致する名前で取り出したいが方法を調査中)

変数に格納されているCSVをファイル形式で出力する方法

  • PandasのDataframeをCSVに変換して、それを返す。
    • FileResponseを使用するとファイルパスが必要になるので、Responseで記述
data_csv = data_df.to_csv(index=False)
response = Response(content=data_csv, media_type="text/csv")
return response
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0