Как проанализировать файл, отправленный в Flask с запросом POST, в json? - PullRequest
0 голосов
/ 10 мая 2019

У меня есть бэкэнд Python, в который я отправляю xml или h5 файлы с фронта.Эти xml \ h5 - это огромные списки точек данных о пациенте.Мне нужно извлечь определенные точки данных (подполя объекта) для передачи следующей вещи в этом конвейере, но я не уверен, как работать с файлом «запроса» в python, чтобы он был чем-то близким к объекту json, с которым я знаком.

Я пробовал библиотеку xmltodict для преобразования xml в json

Скажем, примерно так выглядит файл POSTed

  <patdata>
      <id>MPS_2782</id>
      <lastname/>

....

И этоapi

from flask import jsonify
import requests, os, json, xmltodict
app = Flask(__name__)
api = Api(app)
CORS(app)
#VCG scripts are under Software/Matlab/Transfroms

@app.route('/api/upload', methods = ['POST'])
def upload_file():
    file = request.files['file']    
    contents = xmltodict.parse(file)
    # xmltodict is XML to JSON parser
    print(">> The XML contents. <<<\n")
    print(json.loads(jsonify(contents)))
    return jsonify(contents)

if __name__ == '__main__':
    app.run(debug=False)

Как получить, скажем, идентификатор пациента, например, из 'file' ?

1 Ответ

0 голосов

Если вы можете преобразовать файл XML в словарь, то легко получить различные атрибуты из словаря.

patient_id = contents['patient_id']
print(patient_id)

принесет вам значение.

...