Web开发丨基于flask+pygal可视化分析sqlite中的数据
from flask import Flask, render_template
from pygal import Bar
import sqlite3
app = Flask(__name__)
def get_db():
conn = sqlite3.connect('example.db')
return conn
@app.route('/')
def index():
db = get_db()
cursor = db.cursor()
cursor.execute("SELECT name, count FROM votes ORDER BY count DESC LIMIT 5")
data = cursor.fetchall()
db.close()
# 使用Pygal生成条形图
bar_chart = Bar()
bar_chart.title = 'Votes'
bar_chart.add('Votes', [count for _, count in data])
svg_chart = bar_chart.render_data_uri()
return render_template('index.html', votes=data, chart=svg_chart)
if __name__ == '__main__':
app.run(debug=True)
在这个代码实例中,我们首先从flask
导入了Flask
、render_template
,从pygal
导入了Bar
,并从sqlite3
导入了数据库连接方法。我们定义了一个get_db
函数来建立与SQLite数据库的连接,并在index
路由中执行了一个简单的查询,获取前五名的选举数据,并生成了一个条形图,最后通过render_template
将数据和图表传递给HTML模板。这个简单的Web应用展示了如何使用Flask和Pygal来从SQLite数据库中获取数据,并以图形化的方式呈现出来。
评论已关闭