首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >熊猫DataFrame作为FastAPI的JSONResponse体

熊猫DataFrame作为FastAPI的JSONResponse体
EN

Stack Overflow用户
提问于 2022-02-24 21:16:10
回答 1查看 357关注 0票数 0

我有一个Pandas DataFrame,包含几个列和一些数据,我需要从FastAPI应用程序的响应体中返回这些数据。借用另一个类似但不同的问题的DataFrame示例:

代码语言:javascript
运行
复制
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"])

现在,如果我尝试按如下方式使用dataframe.to_json,返回的主体是一个字符串,每个引号字符都转义,而不是JSON:

代码语言:javascript
运行
复制
result = df.to_json(orient="records") #creates a json string
return JSONResponse(content = result) 

上面的内容返回如下所示:

代码语言:javascript
运行
复制
"[{\"Name:\":\"Joe\", \"Age\":\"34\"},  ...etc"

下面的工作(因为返回的主体是有效的JSON),但我不喜欢将响应作为纯文本而不是JSON返回。有没有更好更合适的方法来做这件事?

代码语言:javascript
运行
复制
result = df.to_json(orient="records") 
return PlainTextResponse(content = result)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-24 21:23:46

而不是json,而是将其转换为dictfastapi应该能够自动处理它:

代码语言:javascript
运行
复制
result = df.to_dict('records')
return JSONResponse(content = result) 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71258345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档