簡體   English   中英

將 Pandas 數據幀作為 Python Flask 中的 JSONP 響應返回

[英]Return Pandas dataframe as JSONP response in Python Flask

我想在Flask中將數據作為JSONP響應返回。

數據來自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,103,10,10,40,10,10,10,10,10,4,10,100,100,100,104,104,104,103,104,103,104,104,104,104,100000,1042,1042,1038,1038,1038,103,103,103,100000,1042,1042,1038,1038,1040,103,104 17.8684]]”

如何在沒有雙引號的情況下在Flask獲得JSONP響應? 提前謝謝了。

這是我將 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

使用此方法,數據框的列將是鍵,數據框的系列將是值。

data_dict = dict()
for col in dataframe.columns:
    data_dict[col] = dataframe[col].values.totlist()
return jsonify(data_dict)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM