今天跟大家聊聊我最近在搞的“达科斯塔”,别误会,不是球星也不是啥名人,是我捣鼓的一个小项目,名字随便起的,觉得顺口就用。
事情是这样的,前段时间,我不是一直想搞一个自动化数据分析的玩意儿嘛之前用Python写不少脚本,零零散散的,用起来贼麻烦,每次都要改来改去,烦都烦死。就想着能不能整个东西,把这些脚本都整合起来,最好还能加个界面,点点鼠标就能跑,多方便。
我想着直接用Python的Tkinter或者PyQt搞个界面,但想想工程量太大,而且界面这玩意儿,我不太擅长,搞出来估计也丑得要命。后来突然想到之前玩过的Streamlit,这玩意儿不是能快速搭建Web应用嘛而且用Python就能写,简直完美!
说干就干,先是把之前那些脚本都整理一遍,该封装的封装,该优化的优化,反正就是把代码弄得更干净整洁一点。然后,开始用Streamlit写界面。这玩意儿上手是真的快,几行代码就能搞出一个输入框,一个按钮,简直不要太爽。
我把数据导入的功能,用Streamlit的文件上传组件实现,用户可以直接上传CSV文件或者Excel文件。然后,把之前写的那些数据分析脚本,都包装成一个个的函数,用户可以选择要跑哪些分析,还可以自定义一些参数。
界面丑得一匹,各种组件乱七八糟地堆在一起,简直没法看。后来慢慢地调整,加一些CSS样式,还用Streamlit的布局功能,把界面分成几个区域,总算是稍微能看。
数据可视化这块,我直接用Plotly,这玩意儿画出来的图是真的漂亮,而且交互性也很用户可以选择不同的图表类型,还可以放大缩小,查看详细数据。
在部署方面,我一开始想直接用Streamlit Cloud,但发现免费版的功能太有限,而且速度有点慢。后来我直接把项目部署到阿里云服务器上,用Docker容器化一下,这样方便管理,也方便以后扩展。
搞完这些,基本上就完成“达科斯塔”的雏形。虽然现在还有很多地方需要完善,比如增加更多的分析功能,优化界面,提高运行速度等等,但总算是能用。以后,我就不用再手动跑脚本,直接在浏览器里点点鼠标就行,简直不要太舒服!
这段时间,为搞这个“达科斯塔”,也算是下不少功夫,踩不少坑。不过最终能把它搞出来,还是很有成就感的。以后,我会继续完善它,争取把它打造成一个真正好用的数据分析工具。
还没有评论,来说两句吧...