Wie streame ich DataFrame mit FastAPI, ohne die Daten in einer CSV-Datei zu speichern?
Posted: 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.
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")