作为数据分析师,我们大部分时间做的事情都是搭建线下Excel报表,这既有优点也有缺点
优点是:
开发效率
快速建模,最快十分钟就可以建模
数据传播
便于传播,发文件就是发模型
交互友好
对使用者门槛低,便于修改
缺点也有:
版本控制
文件副本太多,极难做版本控制.经常有人找我修改模型却发现我已经更新了,只是没有给他最新版本
平台限制
无法跨平台,Mac不能用,WPS不能用,Excel2010及以下版本不能用
静态数据
更新数据有门槛,必须Windows系统,需要Excel2013及以上版本,还需要数据库账号密码,还需要IE9及以上浏览器,如果是早期Excel2016版本,还需要修改ReturnSingleDatabase语句
数据量小
基本上一个Excel模型,在目前主流Windows电脑上存放1万数据就开始卡,10万数据要刷新很久,100万基本上非i7不能刷新和使用了
基于以上这些问题,我开始转向前端网页开发,在研究了Flask,Django和Tornado之后,选择了简单快速的Tornado,就是下面这个
在这里插入图片描述
快速开发Python Web
1. 文件结构
先准备一个文件夹,例如取名python_web,文件结构如下
python_web
|— templates
| |— index.html
|— main.py
或者看截图
python_web
2. index.html代码
index.html
data = cs.fetchall()
cs.close()
db.close()
self.render('index.html',col=col,data=data) # 渲染网页,传入参数
if __name__==‘__main__’:
tornado.options.parse_command_line()
app = tornado.web.Application(
handlers=[(r'/',IndexHandler)], # 将地址绑定到类
template_path=os.path.join(os.path.dirname(__file__),'templates')) # 指明网页文件夹
http_server = tornado.httpserver.HTTPServer(app)
http_server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
40行代码,主要分两部分
IndexHandler
点击网页触发get或post方法时调用该部分
tornado
服务器配置,开启服务器
4. 参数传递流程图
流程图
网页跑起来是这样的
在这里插入图片描述
选择日期,点击运行,就会出数据.这操作比Excel切片器就简单多了,而且背后有海量的数据库数据支撑,可以说是海量数据了
至于ip,Windows需要进入cmd输入ipconfig查看,Mac需要进入Terminal输入ifconfig查看(Mac的真是难找💢)
知识点
前后端
知识点
前端
html
后端
python pymysql模块
python tornado模块
参考资料