отправка JSON Object из python в javascript для заполнения выпадающего списка - PullRequest
0 голосов
/ 23 сентября 2019

Я хочу добавить раскрывающийся список к моей таблице (для каждой строки в одном и том же столбце). Мне удалось это сделать, но только если массивы записаны в javascript.

Что я хочу сейчас сделать, это заполнить мой выпадающий список значениями из файла Excel.Поскольку это не так просто, я создал файл Python, в котором я преобразую этот файл Excel в файл JSON и извлекаю только тот лист, откуда следует импортировать значения.Но я не знаю, как вызвать мой JSON-объект из python в javascript

convert_excel_file.py:

import pandas as pd

path_to_excel = "//10.0.254.14/data/file_to_read_from.xlsm"
export_m42OUs = pd.read_excel(path_to_excel,sheet_name='m42OUs')
json_m42OUs = export_m42OUs.to_json(orient='records')
print(json_m42OUs)

, который дает мне JSON-файл, который выглядит примерно так:

[{"OU_ID":"OU00001","OU_IDName":"Global"},
{"OU_ID":"OU00086","OU_IDName":"DEMO_01"},
{"OU_ID":"OU00087","OU_IDName":"DEMO_02"},
...]

Я должен отметить, что я не могу просто записать значения в JS, потому что файл Excel можно обновлять и добавлять новые значения, что не является лучшим решением для меня.

Я попробовал несколько кодов, которые нашел в стеке, но ни один из них не работал: /

EDIT : я исправил путь, теперь он больше не показывает 404Error, но я все еще не знаю, какчтобы получить данные.Я только что попробовал этот код:

 let dropdown = $('#OUsList');
    dropdown.empty();

    dropdown.append('<option selected="true" disabeld>Choose</option>');
    dropdown.prop('selectedIndex',0);

    const url='http://107.0.0.1:5000/my_app/convert_excel_file.py';

    //Populate dropdown with the list
    $.getJSON(url, function(data){
        $.each(data, function(key,entry){
            dropdown.append($('<option></option>').attr('value', entry.OU_ID).text(entry.OU_IDName))
        });
    });

РЕДАКТИРОВАТЬ 2: через 15 секунд после запуска кода он вернул мне эту ошибку: jquery-1.12.4.js:10254 GET http://107.0.0.1:5000/my_app/convert_excel_file.py net::ERR_CONNECTION_TIMED_OUT

1 Ответ

0 голосов
/ 23 сентября 2019

Вам нужно создать простое веб-приложение для обслуживания вашего JSON. Ваш javascript выглядит нормально, но ваш питон на стороне сервера не работает так, как вы собираетесь.

Я бы порекомендовал вам использовать некоторые легковесные фреймворки, такие как CherryPy для возврата ответа JSON HTPP.

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