Return Pandas 数据帧作为 Python Flask 中的 JSONP 响应
Return Pandas dataframe as JSONP response in Python Flask
我想 return 数据作为 JSONP
在 Flask
中的响应。
数据来自 Pandas dataframe
,我可以 return 将其作为 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
响应?
非常感谢。
这是我在 Flask 中将 Pandas 数据帧转换为 JSONP return 的解决方案:
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
使用这种方法,dataframe 的列将是键,dataframe 的系列将是值。
data_dict = dict()
for col in dataframe.columns:
data_dict[col] = dataframe[col].values.totlist()
return jsonify(data_dict)
我想 return 数据作为 JSONP
在 Flask
中的响应。
数据来自 Pandas dataframe
,我可以 return 将其作为 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
响应?
非常感谢。
这是我在 Flask 中将 Pandas 数据帧转换为 JSONP return 的解决方案:
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
使用这种方法,dataframe 的列将是键,dataframe 的系列将是值。
data_dict = dict()
for col in dataframe.columns:
data_dict[col] = dataframe[col].values.totlist()
return jsonify(data_dict)