我写了这样的代码:
import pandas as pd
import numpy as np
import json
from flask import Flask,request,jsonify
app = Flask(__name__)
@app.route('/df',methods=['POST','GET'])
def ff():
df = pd.read_csv(r'dataframe_post.csv')
row = [5, 'Sanjeev', 'AE']
df.loc[len(df)] = row
# print(dfs)
ls=list(df.to_dict().values())
return jsonify(ls)
if __name__ == '__main__':
app.run(debug=True)
我得到的输出为:
即所有数据均按列显示。但我想按行显示数据。即每个条目单独
喜欢;
[
{
"id": 1,
"name": "Preeti",
"2": "CSE",
},
{
"id": 2,
"name": "Chinky",
"2": "CE",
},
|
|
|
|
|
|
]
等等。
最佳答案
要以所需格式返回 json,您可以使用内置的 dataframe 方法而不是列表和 jsonifying:
df.to_json(orient="records")
这将为您提供一个 json 编码的字符串,如下例所示:
df = pd.DataFrame([[5, 'Sanjeev', 'AE'], [6, 'Sven', 'AA']], columns = ["id", "name", "2"])
返回结果:
id name 2
0 5 Sanjeev AE
1 6 Sven AA
然后作为 JSON:
df.to_json(orient="records")
'[{"id":5,"name":"Sanjeev","2":"AE"},{"id":6,"name":"Sven","2":"AA"}]'
关于python - 如何使用flask从csv文件中逐行获取json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54448202/