Как получить JSON из CSV-файла в строке, используя колбу - PullRequest
0 голосов
/ 30 января 2019

Я написал код вроде:

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)

и я получаю вывод в виде:

введите описание изображения здесь

т.е. все данные отображаются в столбце-wise.Но я хочу отображать данные в виде строк.т.е. каждая запись в отдельности

как;

[
  {
    "id": 1, 
    "name": "Preeti", 
    "2": "CSE", 
  }, 
  {
    "id": 2, 
    "name": "Chinky", 
    "2": "CE", 
  }, 
          |
          |
          |
          |
          |
          |
]

и так далее.

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Чтобы вернуть 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"}]'
0 голосов
/ 30 января 2019

В вашем df.to_dict вызове используйте to_dict(orient='records'), который построит json по строкам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...