烧瓶应用程序将sql查询转换为python

阿卜杜拉·阿拉维·伊斯梅利

我想在我的烧瓶应用程序中使用 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章