ana*_*nas 3 json dataframe flask pandas flask-sqlalchemy
我正在使用 Flask 和 Angular 构建一个机器学习应用程序。我正在我的 pyhton 后端检索一个 mysql 表,我想使用 pandas dataframe 进行一些过滤方法。我通过将 Json 数组转换为 pandas 数据帧轻松完成了这部分。但是当我尝试通过将数据帧转换为 json 对象数组来返回数据帧时,它将如下所示。
from flask import request
from flask_restful import Resource
from Model import db, EmployeeTaskSummary, EmployeeTaskSummarySchema
import json
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
employee_task_summary_schemas = EmployeeTaskSummarySchema(many=True)
employee_task_summary_schema = EmployeeTaskSummarySchema()
class EmployeeTaskSummaryResource(Resource):
def get(self):
employee_task_summary = EmployeeTaskSummary.query.all()
employee_task_summary =
employee_task_summary_schemas.dump(employee_task_summary).data
df=pd.DataFrame(employee_task_summary)
return df.head(5).to_json(orient='records')
Run Code Online (Sandbox Code Playgroud)
那么输出 json Arry 将是:-
"[{\"closed_issues\":0,\"created_issues\":0,\"designation\":\"STL\",\"gitlab_additions\":0,\"gitlab_deletions\":0,\"inprogress_issues\":0,\"month\":1,\"name\":\"Madawa Jeev.\",\"onhold_issues\":0,\"open_issues\":0,\"project_name\":\"DSN\",\"re_opened_issues\":0,\"resolved_issues\":0,\"timelogs\":0,\"week\":1,\"year\":2019},{\"closed_issues\":0,\"created_issues\":0,\"designation\":\"STL\",\"gitlab_additions\":0,\"gitlab_deletions\":0,\"inprogress_issues\":0,\"month\":1,\"name\":\"Madawa Jeev.\",\"onhold_issues\":0,\"open_issues\":0,\"project_name\":\"DSN\",\"re_opened_issues\":0,\"resolved_issues\":0,\"timelogs\":0,\"week\":2,\"year\":2019},{\"closed_issues\":0,\"created_issues\":0,\"designation\":\"STL\",\"gitlab_additions\":0,\"gitlab_deletions\":0,\"inprogress_issues\":0,\"month\":1,\"name\":\"Madawa Jeev.\",\"onhold_issues\":0,\"open_issues\":7,\"project_name\":\"DSN\",\"re_opened_issues\":0,\"resolved_issues\":0,\"timelogs\":0,\"week\":3,\"year\":2019},{\"closed_issues\":0,\"created_issues\":0,\"designation\":\"STL\",\"gitlab_additions\":0,\"gitlab_deletions\":0,\"inprogress_issues\":0,\"month\":1,\"name\":\"Madawa Jeev.\",\"onhold_issues\":0,\"open_issues\":0,\"project_name\":\"DSN\",\"re_opened_issues\":0,\"resolved_issues\":0,\"timelogs\":0,\"week\":4,\"year\":2019},{\"closed_issues\":0,\"created_issues\":0,\"designation\":\"STL\",\"gitlab_additions\":0,\"gitlab_deletions\":0,\"inprogress_issues\":0,\"month\":1,\"name\":\"Madawa Jeev.\",\"onhold_issues\":0,\"open_issues\":18,\"project_name\":\"DSN\",\"re_opened_issues\":0,\"resolved_issues\":0,\"timelogs\":0,\"week\":5,\"year\":2019}]"
Run Code Online (Sandbox Code Playgroud)
我不明白输出中出现这个“\”符号。我需要这种输出。(这是随机样本)
[
{
"id": 1,
"designation": "SE",
"year": 2019,
"week": 1,
"gitlab_additions": 12,
"gitlab_deletions": 3,
"name": "abc",
"timelog": 1234,
"month": 1
},
{
"id": 2,
"designation": "SSE",
"year": 2019,
"week": 1,
"gitlab_additions": 21,
"gitlab_deletions": 2,
"name": "asd",
"timelog": 2342,
"month": 1
},
Run Code Online (Sandbox Code Playgroud)
如果可以的话请帮助我。谢谢
用于json.loads将字符串转换为json
import json
res = json.loads(df.to_json(orient='records'))
print(res)
Run Code Online (Sandbox Code Playgroud)
[
{
"id": 1,
"designation": "SE",
"year": 2019,
"week": 1,
"gitlab_additions": 12,
"gitlab_deletions": 3,
"name": "abc",
"timelog": 1234,
"month": 1
},
{
"id": 2,
"designation": "SSE",
"year": 2019,
"week": 1,
"gitlab_additions": 21,
"gitlab_deletions": 2,
"name": "asd",
"timelog": 2342,
"month": 1
}]
Run Code Online (Sandbox Code Playgroud)
只需to_dict()与orient ='records'
res = df.to_dict(orient='records')
print(res)
Run Code Online (Sandbox Code Playgroud)
[
{
"id": 1,
"designation": "SE",
"year": 2019,
"week": 1,
"gitlab_additions": 12,
"gitlab_deletions": 3,
"name": "abc",
"timelog": 1234,
"month": 1
},
{
"id": 2,
"designation": "SSE",
"year": 2019,
"week": 1,
"gitlab_additions": 21,
"gitlab_deletions": 2,
"name": "asd",
"timelog": 2342,
"month": 1
}]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4736 次 |
| 最近记录: |