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

洛阳最好的做网站的公司什么网站做学校设计

洛阳最好的做网站的公司,什么网站做学校设计,怎么查工程项目信息,商务网站建设用的是什么软件四、使用PyEcharts数据分析案例(面向对象版) 【前言:为了巩固之前的Python基础知识(一)到(五),并为后续使用Python作为数据处理的好帮手,我们一起来用面向对象的思想来理…

四、使用PyEcharts数据分析案例(面向对象版)

【前言:为了巩固之前的Python基础知识(一)到(五),并为后续使用Python作为数据处理的好帮手,我们一起来用面向对象的思想来理解代码】

1.文件读取与数据处理(面向对象版)
# main.py
"""
文本数据格式如下:
订单编号,下单日期,下单金额,下单账户
json数据格式如下:
{id:编号,data:日期,money:金额,account:账户}
"""
import json
# 设计一个类完成数据封装
class data_record:def __init__(self, id, data, money, account):self.id = id            # 订单编号self.data = data        # 下单日期self.money = money      # 下单金额self.account = account  # 下单账户"""当类对象需要被转换为字符串之前,会输出内存地址需要使用魔术方法__str__控制类转换为字符串的行为详情请看到最后"""def __str__(self):return f"{self.id}, {self.data}, {self.money}, {self.account}"# 设计一个抽象类定义文件读取相关功能
class file_reader:# 读取文件数据,将读到的每条数据转换成list,返回data_record类def read_data(self) -> list[data_record]:pass# 读取文本数据子类
class txt_file_reader(file_reader):# 使用构造方法定义文件路径def __init__(self, path):self.path = path# 复写抽象方法def read_data(self) -> list[data_record]:f = open(self.path, 'r', encoding="UTF-8")data_record_list: list[data_record] = []for line in f.readlines():# 注意此处去除读取到的line中的换行符line = line.strip()# 注意split方法得到一个列表,要将字符串表示的money转换成intdata_list = line.split(",")data = data_record(data_list[0], data_list[1], int(data_list[2]), data_list[3])data_record_list.append(data)f.close()return data_record_list# 读取json类型数据子类
class json_file_reader(file_reader):# 使用构造方法定义文件路径def __init__(self, path):self.path = path# 复写抽象方法def read_data(self) -> list[data_record]:f = open(self.path, 'r', encoding="UTF-8")data_record_list: list[data_record] = []for line in f.readlines():# 将读取到的每一行json类型转换成python数据类型——字典类型data_dict = json.loads(line)data = data_record(data_dict["id"],data_dict["data"],int(data_dict["money"]),data_dict["account"])data_record_list.append(data)f.close()return data_record_listtxt_file = txt_file_reader("D:/txt_file.txt")
json_file = json_file_reader("D:/json_file.txt")
txt_list: list[data_record] = txt_file.read_data()
json_list: list[data_record] = json_file.read_data()"""
运行:
for line in txt_list:print(line)for line in json_list:print(line)
当类对象需要被转换为字符串之前,会输出内存地址
故此时仅打印数据的地址
需要使用魔术方法__str__控制类转换为字符串的行为
"""# 将两个列表数据内容合并
all_list: list[data_record] = txt_list + json_list
# 将同一天的销售金额累加,使用字典存储
data_dict = {}
for record in all_list:# 当前日期已经存在,直接累加money即可if record.data in data_dict.keys():data_dict[record.data] += record.money# 当前日期不存在,需要添加该日期且将money存入else:data_dict[record.data] = record.moneyprint(data_dict)"""
输出结果:
{'07-01': 5081, '07-02': 5360, '07-03': 2096, '07-04': 5174, '07-05': 5344, '07-06': 3162, '07-07': 2141, '07-08': 1701, '07-09': 3180}"""
2.可视化开发
# 在main.py中导入包
from pyecharts.charts import Bar
from pyecharts.options import *
from pyecharts.globals import ThemeType# 在1.文件读取与数据处理(面向对象版)代码基础上添加:# 得到柱状图类对象
bar = Bar(init_opts=InitOpts(theme=ThemeType.LIGHT))
# 将字典中所有日期作为x轴参数,所有金额作为y轴参数
bar.add_xaxis(list(data_dict.keys()))
bar.add_yaxis("总金额", list(data_dict.values()), label_opts=LabelOpts(is_show=False))bar.set_global_opts(title_opts=TitleOpts(title="每日销售总金额")
)bar.render("每日销售总金额柱状图.html")

最终效果:

每日销售总金额

记录学习过程的笔记,欢迎大家一起讨论,会持续更新

http://www.yayakq.cn/news/606649/

相关文章:

  • 数据库做网站和做软件有什么不一样做盗版网站违法吗
  • 做网站一年需要多少钱wordpress臃肿
  • 广东建站网站上面的水印怎么做的
  • 网站自建设需要买什么做婚庆的网站有哪些内容
  • 企业网站策划方案书前端app用什么开发
  • 青岛网站定制开发菏泽建筑模板厂家
  • 怎么做网站维护如何制作网页模板
  • 网站建站公司订单多吗创建企业手机微信网站门户
  • 如何在国外网站做免费推广奢侈品回收正规店
  • 住宿和餐饮网站建设的推广重庆seo网站管理
  • 怎么做音乐网站律师论坛网站模板
  • 自己的电脑做网站云存储怎么发网址链接
  • 做我的世界壁纸网站青岛做网站建设的公司哪家好
  • 象山县建设局网站办公楼网络组建方案设计
  • 自建网站做外贸好做吗网页游戏开服表怎么删
  • 安仁网站制作门户网站建设运行环境要求
  • 可以去非菲律宾做游戏网站吗门户网站如何建设
  • 没有建设的网站不能申请微信支付吗wordpress 内存
  • 上海城乡住房建设厅网站网络营销平台的主要功能
  • c 做精品课程网站跨境电商平台企业
  • 1000学习做网站贵吗南京高端网站建设工作室
  • 自己怎样建立网站给自己家的公司做网站好做吗
  • 网站做多久才有流量品牌seo主要做什么
  • 加快门户网站建设大连公共资源交易平台
  • 如何申请一个免费的网站空间个人网站能做淘宝客吗
  • 怎么建立公司网站苏州网站开发公司招聘信息
  • 公司网站如何维护wordpress注册页面更改
  • 网站模板怎样使用成都网站制作报价
  • 建c2c网站室内装修设计联盟
  • 长沙专业网站建设服务网站建设与管理 规划书