2017-02-17 76 views
2

我想返回中JSONP响应的数据。在Python中将熊猫数据框返回为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]]”

如何在Flask中得到JSONP响应而无需双重处理工商业污水附加费? 非常感谢提前。

+0

不要叫'to_json()'第一。 'jsonpify()'期望它的参数是一个字典或列表,并且它用JSONP包装器将它转换为JSON。 – Barmar

+0

如果我做'jsonpify(dataframe)'我得到一个错误'不是JSON可串行化' – saitam

+1

[convert dataframe to list](http://stackoverflow.com/questions/15112234/converting-dataframe-into-a-list) – Barmar

回答

2

这是我的解决方案转换一个大熊猫数据帧,以JSONP在瓶的回报是:

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