Я написал следующий код в 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, где будет отображаться диаграмма?