# Python_期末项目 **Repository Path**: emy_o/python-final-project- ## Basic Information - **Project Name**: Python_期末项目 - **Description**: No description available - **Primary Language**: Python - **License**: AFL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-01-24 - **Last Updated**: 2021-01-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Python期末项目文档 ### 项目:数据故事 ### 撰写人:张敏彤 ## 一、项目介绍 - 该项目是数据故事展示交互页面,里面共有三个数据故事,分别是国家经济情况概览、造林情况概览和人民消费情况概览。通过图表直观展示数据配以适当的文字分析来让用户深入了解数据所具有的含义。 ![页面流程图](https://images.gitee.com/uploads/images/2021/0124/021303_29938624_5330592.jpeg "000.jpg") ## 二、问题表述 - 用户画像:6~80岁,范围宽广,适合全年龄层的人观看,尤其针数据分析者。 - 用户使用场景:因为好奇,所以在互联网浏览我国因疫情遭受的经济影响分析和我国环境保护现状。 - 用户需求:想精准地获取数据,以及清晰明了的知道最终的结果。 - 用户任务:浏览自己想要获取信息的数据故事。 - 用户痛点:无法知道从哪里获取官方准确资料,以及网络上虚假消息过多。 ## 三、解决方案 ### 3.1解决思路 - 需要搭建出一个拥有多个页面的网站,应该有登录界面确认用户身份。每个页面上的导航栏需要明确,方便用户进行网页间的跳转。首页是清晰明了的指示引导用户选择想要浏览的故事或数据进行观看。搭建好数据故事页面,图表配合文字综合说明。 ### 3.2具体知识点 - 列表:用切片的方式整理数据,将数据提取放到pyecharts里进行数据图表化展示,是整个项目里占据较大使用比列的知识点。 ``` 当年人工造林面积= df[1:2].T[1].tolist()[1:] 当年人工造林面积 ``` - 函数:利用函数实现网页间的跳转,完成整体网站的搭建。并且实现了日志系统的使用和输出。 ``` @app.route('/') def entry_page() -> 'html': return render_template('base.html') ``` - 日志:site.log是日志输出到达的位置,可以记录每一次提交并做记录。 ``` with open('site.log', 'a') as log: print(req.form,req.remote_addr,req.user_agent,file=log,sep='|') ``` ### 3.3云端部署 - pythonanywhere已部署完成 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0124/170927_73c028f4_5330592.png "1611479351(1).png") - 页面如下:\ [登录页](http://zhangmt0228.pythonanywhere.com/)\ [首页](http://zhangmt0228.pythonanywhere.com/main.html)\ [数据故事-国家经济](http://zhangmt0228.pythonanywhere.com/country.html)\ [数据故事-造林情况](http://zhangmt0228.pythonanywhere.com/tree.html)\ [数据故事-居民消费](http://zhangmt0228.pythonanywhere.com/people.html)\ [源数据-国家经济](http://zhangmt0228.pythonanywhere.com/coudata.html)\ [源数据-造林情况](http://zhangmt0228.pythonanywhere.com/trdata.html)\ [源数据-居民消费](http://zhangmt0228.pythonanywhere.com/peodata.html) - 页面结构图 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0124/170818_d281b2ec_5330592.jpeg "90.jpg") - 云端功能:不占用本地存储,不用担心文件损毁。可以方便快捷一键浏览数据故事以及源数据。 - 云端部署心得:云端部署网页的时候主要是通过之前智超老师上课时候教如何使用pythonanywhere的录屏完成的。在部署的时候也发现了一个小问题,zip文件提示无法解压,后来通过询问部署成功的人得知了,是因为文件名称有空格。而如果文件名称有空格,后台是无法识别到的 ## 四、实践心得以及感谢 ### 4.1实践心得 - 这次的期末项目是集整个学期的Python学习之大成。随着项目的一步步推进,发现了自己在学习上仍存在很多弊端,许多的知识点还没有搞明白。在失败的时候,心情虽然难免会烦躁,但也越来越有耐心地去揪出错误的地方并改正。在完成项目的过程中,也上网检索了很多信息,发现自己在编程上所知道的东西仍然很少,还需要不断地充实自己。本次项目主要是参考了黄杰琪师兄数据故事网站,在此对师兄表示感谢。另外,还要感谢同级的黄意晴同学,因为她比我先进行项目,因此一些我犯的错她已经犯过,帮我少走了许多弯路,在此表示感谢。最后要感谢网络上许多把自己的经验分享出来的大神们,让我受益良多。 参考链接: [黄杰琪师兄网站(旧版本)](http://nfue.top/)\ [excel的数据通过pyecharts生成图表](https://blog.csdn.net/luansj/article/details/93592769)\ [pyechart安装及使用指南](https://www.cnblogs.com/dgwblog/p/11811562.html#/zh-cn/intro)\ [Python:数据可视化pyecharts的使用](https://www.cnblogs.com/jyroy/p/9446486.html)\ [Pyecharts在Django中显示](https://blog.csdn.net/qq_38364794/article/details/93388441)\ [jupyter notebook写入及读取excel,csv文件](https://blog.csdn.net/Amanda_python/article/details/111053125)\ [问题TypeError: __init__() takes 1 positional argument but 2 were given解决方案](https://www.cnblogs.com/lxc1997ye/p/11665439.html)\ [Jupyter notebook无法显示pyecharts 图形界面 ----解决方法](https://blog.csdn.net/weixin_45215649/article/details/107933750)\ [pyecharts无法在jupyterlab中显示的问题](https://www.jianshu.com/p/c464550e5d4c)\ [pyecharts无法在jupyterlab中显示问题](https://www.cda.cn/discuss/post/details/5e772a3a079cdd2d7673d200)\ [python:pyecharts之Bar](https://www.jianshu.com/p/7dcd3a85da4b)\ [pyecharts制作地图热力图但是显示TemplateNotFound: simple_chart.html](https://bbs.csdn.net/topics/397172560)\ [pip install pyecharts报错ERROR: jupyter-echarts-pypkg 0.1.2 requires pyecharts-jupyter-installer==0.0.](https://blog.csdn.net/lvsijiaanan/article/details/105716173)\ [ImportError: cannot import name 'Bar' from 'pyecharts'](https://blog.csdn.net/shaooping/article/details/90316540)\ [python 错误 SyntaxError: invalid character in identifier](https://blog.csdn.net/justdoitjs/article/details/78988225)\ [学习flask的番外5之Pythonanywhere部署Flask项目](https://www.jianshu.com/p/9974701034ef)\ [pyecharts安装入门](https://cloud.tencent.com/developer/news/387925)\ [bootstrap平台](https://v3.bootcss.com/)\ [bootstrap实例](https://v3.bootcss.com/getting-started/#examples)\ [processon平台](https://www.processon.com/)