我希望在JSONP
中将数据作为Flask
响应返回。
数据来自Pandas dataframe
,我可以使用以下行将其作为JSON
返回:
json_data = dataframe.to_json(orient='values')
return json_data
工作正常,我得到的数据如下:
[[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)
它给了我数据,但有双引号:
" [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
中获得Flask
响应?
非常感谢提前。
答案 0 :(得分:7)
这是我将Pandas数据帧转换为JSONP的解决方案,并在Flask中将其返回:
from flask_jsonpify import jsonpify
df_list = df.values.tolist()
JSONP_data = jsonpify(df_list)
return JSONP_data
根据您转换数据帧的方式,您可能需要以与我不同的方式制作列表,例如:像这样df_list = merged.values.T.tolist()
或者像这样df_list = list(df.values.flatten())
等等。
感谢用户@Barmer
答案 1 :(得分:0)
使用此方法,数据框的列将是键,数据框的系列将是值。
data_dict = dict()
for col in dataframe.columns:
data_dict[col] = dataframe[col].values.totlist()
return jsonify(data_dict)