Wie streame ich DataFrame mit FastAPI, ohne die Daten in einer CSV-Datei zu speichern?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie streame ich DataFrame mit FastAPI, ohne die Daten in einer CSV-Datei zu speichern?

by Guest » 11 Jan 2025, 07:55

Ich würde gerne wissen, wie man einen DataFrame mit FastAPI streamen kann, ohne den DataFrame in einer CSV-Datei auf der Festplatte speichern zu müssen. Derzeit ist es mir gelungen, Daten aus der CSV-Datei zu streamen, aber die Geschwindigkeit war nicht sehr hoch im Vergleich zur Rückgabe einer FileResponse. Die /option7 unten ist das, was ich versuche.
Mein Ziel ist es, Daten vom FastAPI-Backend zu streamen, ohne den DataFrame in einer CSV-Datei zu speichern.
Vielen Dank.

Code: Select all

from fastapi import FastAPI, Response,Query
from fastapi.responses import FileResponse,HTMLResponse,StreamingResponse
app = FastAPI()

df = pd.read_csv("data.csv")

@app.get("/option4")
def load_questions():
return FileResponse(path="C:Downloads/data.csv", filename="data.csv")

@app.get("/option5")
def load_questions():
def iterfile():  #
with open('data.csv', mode="rb") as file_like:  #
yield from file_like  #

return StreamingResponse(iterfile(), media_type="text/csv")

@app.get("/option7")
def load_questions():
def iterfile():  #
#with open(df, mode="rb") as file_like:  #
yield from df  #

return StreamingResponse(iterfile(), media_type="application/json")


Top