今天我们用flask加上pandas来实现excell表格读取数据然后在网页上实现数据可视化查询。
首先我们要先安装flask模块和pandas模块
pip install flask
pip install pandas
接着我们创建.py文件,然后import模块:
import flask
import pandas as pd
from flask import request
接着创建app方法
app=flask.Flask(__name__)
接下来写路由
@app.route("/query_grade",methods=["GET","POST"])
定义query_grade函数:
def query_grade():
df=pd.read_excel("output_projectdata.xlsx")
grade_data=pd.DataFrame()
date_name=request.form.get("date_name","")
if date_name:
grade_data=df.query(f'date == %s'%date_name)
return f"""
<html>
<body style="text-align:center">
<h1>查询工作内容</h1>
<form action="/query_grade" method="post">
日期:<input type="text" name="date_name",value="{date_name}">
<input type="submit" name="submit" value="查询">
</form>
<center> %s </center>
</body>
</html>
""" % grade_data.to_html(index=False)
我这里用pd.DataFrame()方法来读取表格数据,df.query(f'date == %s'%date_name)用来选择数据,只有符合条件的数据才会读取。
最后执行run,这里可以指定本地ip,指定端口,使内网的人都可以访问页面,查询数据:
if __name__== '__main__':
app.run(host='192.168.254.25', port=8000, debug=True)
完整源码如下:
mport flask
import pandas as pd
from flask import request
app=flask.Flask(__name__)
@app.route("/query_grade",methods=["GET","POST"])
def query_grade():
df=pd.read_excel("output_projectdata.xlsx")
grade_data=pd.DataFrame()
date_name=request.form.get("date_name","")
if date_name:
grade_data=df.query(f'date == %s'%date_name)
return f"""
<html>
<body style="text-align:center">
<h1>查询工作内容</h1>
<form action="/query_grade" method="post">
日期:<input type="text" name="date_name",value="{date_name}">
<input type="submit" name="submit" value="查询">
</form>
<center> %s </center>
</body>
</html>
""" % grade_data.to_html(index=False)
if __name__== '__main__':
app.run(host='192.168.254.25', port=8000, debug=True)
最后看下效果图:
文章转载自ICTworker,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。