Python面向对象案例
面向对象之数据分析
实现步骤:
设计一个类,可以完成数据的封装
设计一个抽象类,定义文件读取的相关功能,并使用子类实现具体功能
读取文件,生产数据对象
进行数据需求的逻辑计算(计算每一天的销售额)
通过PyEcharts进行图形绘制
数据处理(file_define.py)
- 业务逻辑:传入要处理的文件的路径,然后将读取到的数据都转换为Record对象,最后将其封装成list返回
1 | """ |
数据定义(data_define.py)
业务逻辑:定义数据的格式,以及通过__str__ 魔术方法将对象按照自定义格式输出
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21"""
数据定义的类
"""
class Record:
def __init__(self, date, order_id, money, province):
"""
使用构造方法完成成员变量的定义,并且在构造类对象的时候便于给成员变量赋值
:param date: str
:param order_id: str
:param money: int
:param province: str
"""
self.date = date # 订单日期
self.order_id = order_id # 订单编号
self.money = money # 订单金额
self.province = province # 订单省份
def __str__(self):
return f'{self.date}, {self.order_id}, {self.money}, {self.province}'数据处理(main.py)
- 业务逻辑:对从text文件和json文件获得的数据合并成为一个列表对象,并对数据进行计算(统计每天的销售额),将相同的日期合并,如–date: ‘2021.02.10’ money: “28182”–
- 这里由于Python解释器或者pycharm版本的不对,会导致”from pyecharts.charts import Bar”这句报错。不过我们最初的目的是写面向对象的demo,于是通过pyecharts绘图这部分虽然运行不出来我也没有去具体深究(不求甚解)。
1 | from Class_Exercise_Demo.data_define import Record |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.