'Pandas DataFrame as body of FastAPI's JSONResponse
I have a Pandas DataFrame with several columns and some data that I need to return in a response body from a FastAPI application. Borrowing the DataFrame example from another similar, but different, question:
test_list = [["Joe", 34, "Accounts", 10000], ["Jack", 35, "Chemistry", 20000], ["Jill", 37, "Art", 2000]]
df = pandas.DataFrame(data=test_list, columns=["Name", "Age", "Dept.", "Salary"])
Now if I try to use dataframe.to_json as follows, the returned body is a string with every quote character escaped and is not JSON:
result = df.to_json(orient="records") #creates a json string
return JSONResponse(content = result)
The above returns something like:
"[{\"Name:\":\"Joe\", \"Age\":\"34\"}, ...etc"
The following works (in that the returned body is valid JSON) but I don't like that the response is returned as plain text instead of JSON. Is there a better, more proper way to do this?
result = df.to_json(orient="records")
return PlainTextResponse(content = result)
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
