我想在我的烧瓶应用程序中使用 pandas 将 SQL 查询转换为绘图饼图。这是我的代码:
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:“函数”对象不可下标
query_tickets_status
是 afunction
但您将其视为list
/ dictionary
/ DataFrame
。
您必须首先使用()
执行此函数,然后使用[ ]
从dictionary
/获取值DataFrame
(此函数返回)
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']
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句