我想在我的燒瓶應用程式中使用 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:“函式”物件不可下標
uj5u.com熱心網友回復:
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']
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/456116.html
