【发布时间】:2018-09-09 10:21:15
【问题描述】:
我想制作一个基本的REST API,它将json文件(从数据帧转换而来)作为以下格式的发布请求:
[{"supplier":1,"quantity":37},{"supplier":63,"quantity":32},{"supplier":1,"quantity":12}]
并对其进行一些基本分析,例如假设每个供应商的平均数量并将其发送回用户。
我可以使用以下代码将发布的数据以 json 格式成功发回:
from flask import Flask, jsonify,request
import pandas as pd
app = Flask(__name__)
@app.route("/basicAnalysis", methods=['POST'])
def basicAnalysis():
if request.method == 'POST':
try:
data = request.get_json(force=True)
d=data.read_json(orient='records')
except ValueError:
return jsonify("something went wrong")
return jsonify(d)
if __name__ == '__main__':
app.run(debug=True)
但我不知道如何处理收到的数据。我试图将收到的“数据”转换为数据框,以便我可以使用它。但这行不通。我们将不胜感激。
编辑 1: 包括我用来将 json 数据转换为数据帧的行。它给了我以下错误:
builtins.AttributeError
AttributeError: 'list' object has no attribute 'read_json'
我认为这样做的原因是 request.get_json() 会返回一个列表项。
编辑 2:在代码中添加要导入的库。
【问题讨论】:
-
您能否展示一下您的我已尝试将收到的“数据”转换为数据框,以便有人可以帮助您完成这项工作?
-
对不起,我已经把这行加进去了。
-
嗯是的....
data是您之前的变量,它是list,所以它不会有.read_json()- 你是如何导入熊猫的?你在某处有import pandas as pd(传统约定)吗? -
是的,我一开始使用的是
import pandas as pd。
标签: python rest flask flask-restful