在Python Flask中将Pandas数据帧作为JSONP响应返回

sai*_*tam 7 python json jsonp flask pandas

我想将数据作为JSONP响应返回Flask.

数据来自a Pandas dataframe,我可以JSON按以下行返回:

json_data = dataframe.to_json(orient='values')
return json_data
Run Code Online (Sandbox Code Playgroud)

工作正常,我得到的数据,如下所示:

[[1487310600000,1038,1042,1038,1038,-2.243,6.8933],[1487310900000,1042,1042,1038,1038,-1.3626,4.3058],[1487311200000,1042,1042,1038,1038,-1.4631,17.8684 ]]

但我需要它JSONP,所以我使用以下代码:

from flask_jsonpify import jsonpify
json_data = dataframe.to_json(orient='values')
return jsonpify(json_data)
Run Code Online (Sandbox Code Playgroud)

它给了我数据,但有双引号:

"[[1487310600000,1038,1042,1038,1038,-2.243,6.8933],[1487310900000,1042,1042,1038,1038,-1.3626,4.3058],[1487311200000,1042,1042,1038,1038,-1.4631, 17.8684]"

如何JSONPFlask没有双引号的情况下获得响应?提前谢谢了.

sai*_*tam 8

这是我将Pandas数据帧转换为JSONP的解决方案,并在Flask中返回它:

from flask_jsonpify import jsonpify
df_list = df.values.tolist()
JSONP_data = jsonpify(df_list)
return JSONP_data
Run Code Online (Sandbox Code Playgroud)

根据您转换数据帧的方式,您可能需要以与我不同的方式制作列表,例如像这样df_list = merged.values.T.tolist()或类似的df_list = list(df.values.flatten())等.

谢谢用户@Barmer