flask 应用程序将 sql 查询转换为 python plotly
flask app convert sql query to python plotly
我想在我的 Flask 应用程序中使用 pandas 将 SQL 查询转换为 plotly 饼图。这是我的代码:
def query_tickets_status() :
query_result = pd.read_sql ("""
SELECT COUNT(*)count_status, status
FROM tickets
GROUP BY status""", con = mydc_db)
return query_result
labels_statut = query_tickets_status['status']
values_statut = query_tickets_status['count_status']
fig = go.Figure(data=[go.Pie(labels=labels_statut, values=values_statut)])
graphSuppliers = json.dumps(fig, cls=plotly.utils.PlotlyJSONEncoder)
return render_template('admin/dashboard.html', graphSuppliers = graphSuppliers)
这是我的模板文件。
<html>
<body>
<h1>Your Plotly Chart</h1>
<div id='chart' class='chart'></div>
</body>
<script src='https://cdn.plot.ly/plotly-latest.min.js'></script>
<script type='text/javascript'>
var graphs = {{graphSuppliers | safe}};
Plotly.plot('chart',graphs,{});
</script></html>
但我在这一行中遇到错误:
labels_statut = query_tickets_status['status']
TypeError: 'function' object is not subscriptable
query_tickets_status
是 function
但您将其视为 list
/dictionary
/DataFrame
.
您必须先使用 ()
来执行此函数,然后使用 [ ]
从 dictionary
/DataFrame
获取值(此函数 returns)
result = query_tickets_status()
labels_statut = result['status']
values_statut = result['count_status']
最终你可以直接使用 all 而无需创建函数 query_tickets_status()
query_result = pd.read_sql ("""
SELECT COUNT(*)count_status, status
FROM tickets
GROUP BY status""", con = mydc_db)
labels_statut = query_result['status']
values_statut = query_result['count_status']
我想在我的 Flask 应用程序中使用 pandas 将 SQL 查询转换为 plotly 饼图。这是我的代码:
def query_tickets_status() :
query_result = pd.read_sql ("""
SELECT COUNT(*)count_status, status
FROM tickets
GROUP BY status""", con = mydc_db)
return query_result
labels_statut = query_tickets_status['status']
values_statut = query_tickets_status['count_status']
fig = go.Figure(data=[go.Pie(labels=labels_statut, values=values_statut)])
graphSuppliers = json.dumps(fig, cls=plotly.utils.PlotlyJSONEncoder)
return render_template('admin/dashboard.html', graphSuppliers = graphSuppliers)
这是我的模板文件。
<html>
<body>
<h1>Your Plotly Chart</h1>
<div id='chart' class='chart'></div>
</body>
<script src='https://cdn.plot.ly/plotly-latest.min.js'></script>
<script type='text/javascript'>
var graphs = {{graphSuppliers | safe}};
Plotly.plot('chart',graphs,{});
</script></html>
但我在这一行中遇到错误:
labels_statut = query_tickets_status['status']
TypeError: 'function' object is not subscriptable
query_tickets_status
是 function
但您将其视为 list
/dictionary
/DataFrame
.
您必须先使用 ()
来执行此函数,然后使用 [ ]
从 dictionary
/DataFrame
获取值(此函数 returns)
result = query_tickets_status()
labels_statut = result['status']
values_statut = result['count_status']
最终你可以直接使用 all 而无需创建函数 query_tickets_status()
query_result = pd.read_sql ("""
SELECT COUNT(*)count_status, status
FROM tickets
GROUP BY status""", con = mydc_db)
labels_statut = query_result['status']
values_statut = query_result['count_status']