当前位置: 首页 > news >正文

原神角色数据分析项目说明文档

---项目涉及---

前端html语言,flask框架,excel,MySQL,DataFrame数组,numpy,pyecharts

---实现方式---

        将所有角色数据存储在excel表格中,在需要时读取,当用户想要查看某一项时,form提交相应的网址,在“app.py”文件中,找到该网址对应的函数,执行对应函数,将函数返回值(通常为.html文件)呈现。

1、前端实现:

(1)主要依赖:flask框架,html语言

(2)实现方式:当用户点击某个页面时,(全为get请求,不要问为什么,问就是因为get请求比较快),input标签得到用户提交的数据,通过form标签提交,根据form标签中action标签的传入参数,找到“app.py”文件中的对应函数。

2、后端实现:

(1)主要依赖:编程语言python,flask框架,数据处理所用第三方包pandas和numpy,绘图pyecharts,自整理的绘图模块

(2)基础逻辑实现方式:当接收到前端用户提交的信息之后,找到对应函数,调用对应模块的绘图函数,传入对应数据(具有一定格式要求),一般会生成一个.html文件,将之作为返回值。

(3)数据处理方式:

原神角色数据存储方式:excel表格

程序内读取方式:导入pandas包,调用DataFrame方法,将数据作为DataFrame数组读入

用户私有信息存储方式:excel或MySQL

3、模块:

(1)模块:

"""自定义class"""
# 各个元素角色信息
from find_type import FindType
# 登录页面
from sign_in import SignIn
# 设置参数要求,查找对应角色
from NUM import Num
# 按要求排列
from SORT import Sort
# 查找某一角色
from FR import FindRole
# 画图散点图、漏斗图
from WRITEPHOTO import WriteScatter, WriteFunnel, WriteBarData, WritePie, WriteLineBar

(2)模块(class)语法结构:

        主要用于处理数据

        定义class类,设置各个变量的初始值(初始值为None,以便于后续更改,也可省略初始值的定义),在class类中,先定义自启动方法:

def __init__(self,传入参数1,传入参数2,传入参数3,……)pass

        再定义可被调用的方法,建立方法名与类的依赖关系,一般情况下(就普遍理论性而言……嘿嘿),方法的返回值都是不同形式的数据,而这些数据都将被作为返回值接收,传递给绘图函数,当然,这个后面会提到。

(3)模块(pyecharts)语法结构:

        主要用于构造图形

        导入pyecharts.charts包,接收传入数据,

        (情况一)绘制图形,得到一个“.html”文件,

        (情况二)调用Page方法,得到一张“白板”,在调用其add方法(传入参数为多个图形的形参),再调用如下语句生成组合图形:

page.render("文件名.html")

        打开这个html文件,将图形进行排版,点击保存,得到一个json文件,将上一语句注销,执行如下语句将得到目标html文件:(为了加快网页反应速度,再实际操作中,可以先单独执行该步骤,得到目标html文件,在用户调用时,直接将其作为返回值即可)

Page.save_resize_html("文件名.html", cfg_file="jsom文件的位置", dest="所得到html文件的存储位置")

---补充---

(1)补充说明的第一点,主要针对flask框架。在python中,有许多框架,flask虽然不是最有名的框架,但却是最灵活的框架,再加上学习门槛较低,所以就选择了flask框架。

(2)在实现整个项目中,遇到最大的困难无非就如下几个方面:html如何排版,数据如何处理,页面该如何呈现,出现报错如何解决……

---存在问题---

(1)主html页面的排版仍然存在某些问题;

(2)数据的处理和存储方式不够灵活,存在隐患,如果出现报错,很容易导致崩盘;

(3)只能通过局域网登录,仍未配置到公网(主要是不会);

(4)代码整体量较大,语法结构过于粗糙,并没有体现出python语言简洁、高效的特点;

(5)在处理部分数据时,只是用了DataFrame的基础语言,没能将其处理数据的优越性体现出来;

http://www.lryc.cn/news/149876.html

相关文章:

  • 【Qt】QML-04:自定义变量(属性)property
  • 基于Cadence Allegro无盘设计操作流程
  • 微信小程序 - 2023年最新版手机号快捷登录详细教程
  • Spring_Bean的自动装配
  • 使用boost::geometry::union_ 合并边界(内、外)- 方案一
  • 面向高速公路车辆切入场景的自动驾驶测试用例生成方法
  • Java:SpringBoot整合SSE(Server-Sent Events)实现后端主动向前端推送数据
  • cmd命令行设置 windows 设置环境变量
  • 基于负载均衡的在线OJ实战项目
  • Opencv手工选择图片区域去水印
  • 《向量数据库》——向量数据库跟大模型是什么关系呢?
  • 通过这 5 项 ChatGPT 创新增强您的见解
  • W5500-EVB-PICO主动PING主机IP检测连通性(十)
  • 解释基本的3D理论
  • C# 练习题
  • 解决Linux报错:Swap file “xxxxxx.swp“ already exists
  • 基于飞桨图学习框架的空间异配性感知图神经网络
  • Springboot整合JWT
  • 如何使用Python和正则表达式处理XML表单数据
  • LA@方阵相似@相似矩阵的性质
  • ZLMediaKit 各种推拉流
  • 行业追踪,2023-08-29
  • 【简单】228. 汇总区间
  • Mysql高级语句
  • Python中 re.compile 函数的使用
  • 【分布式搜索引擎es】
  • 单片机的ADC
  • 如何把pdf文件合并?分享最新pdf合并方法
  • 笙默考试管理系统-MyExamTest----codemirror(11)
  • Spring MVC 五 - Spring MVC的配置和DispatcherServlet初始化过程