Как связать Python и Google диаграммы с данными Microsoft SQL Server? - PullRequest
0 голосов
/ 16 мая 2019

Я написал следующий код в HTML и JavaScript. Я пытаюсь создать круговую диаграмму с данными, полученными с сервера Microsoft SQL через Python. Я написал следующие коды, приведенные ниже

Я попытался отобразить Google-диаграмму в HTML, которая работает нормально. Я также могу получить данные с сервера Microsoft SQL на Python. Проблема возникает, когда я пытаюсь вызвать файл Python из JavaScript.

JS код:

 function drawChart(snapshot_dt, mnth) {

    // Create the data table.
    if(snapshot_dt == 'May' & mnth == 'Apr'){
    var data = new google.visualization.DataTable();
    data.addColumn('string', 'Status');
    data.addColumn('number', 'Number of Projects');

   data.addRows([
      ['On Schedule', 30],
      ['Pushed', 29],
      ['Accelerated', 20]
    ]);

    // Set chart options
    var options = {title:'Project Distribution for ' + mnth + ' and snapshot dt ' + snapshot_dt,
                   width:500,
                   height:250,
                   colors: ['#36CAAB', '#CFD4D8', '#49A9EA']};

    // Instantiate and draw our chart, passing in some options.
    //document.getElementById('pie_chart_title').innerHTML = options.title;
    var chart = new google.visualization.PieChart(document.getElementById('chart_div'));

    function selectHandler() {
      var selectedItem = chart.getSelection()[0];
      if (selectedItem) {
        var value = data.getValue(selectedItem.row, 1);
        alert('The user selected value is ' + value);
        drawChartTable();
      }
    }

    google.visualization.events.addListener(chart, 'select', selectHandler);    
    chart.draw(data, options);
  }
  else{
document.getElementById("chart_div").innerHTML = "";
}
}

Вот код Python:

    import pyodbc 
    import pandas as pd
    import json

     config = dict(server =   'falcondev', 
          port =      '####',                 
          database = '*****',
          username = '*****',
          password = '*****')

     #creating the connection string                                    
     conn_str = ('SERVER={server},{port};'   
        'DATABASE={database};'      
        'UID={username};'           
        'PWD={password}')


        # cursor for calling commands

          try:
conn = pyodbc.connect(r'DRIVER={' + pyodbc.drivers()[0] + '};' + conn_str.format(**config))  #this instruction to read the system ODBC driver version does not work in a Linux environment 
cursor = conn.cursor()
      except:
        print "Could not connect to Database"

             query = 'select [On Schedule],[Pushed],[Accelerated] from [iris].[dbo].[pie_test] where Effective_Month = \'Jan\' and Snapshot_Month = \'May\''
      df = pd.read_sql(query, con=conn) 

     a=df.to_json(orient='records')

Как мне вызвать файл python из javascript и, кроме того, как мне отформатировать JSON, чтобы он был принят функцией JavaScript, где будет отображаться диаграмма?

...