编辑代码

# coding:utf-8

from data_define import Record
import json

class FileReader:

    def read_data(self) -> list[Record]:
        pass


class TextFileReader(FileReader):

    def __init__(self, path):
        self.path = path
    
    record_list: list[Record] = []
    def read_data(self):
        f = open(self.path, "r", "UTF-8")
        
        for line in f.readlines():
            line = line.strip()
            data_list = line.split(",")
            record = Record(data_list[0], data_list[1], int(data_list[2]), data_list[3])
            record_list.append(record)
        
        f.close()
        return record_list


class JsonFileReader(FileReader):

    def __init__(self, path):
        self.path = path

    record_list: list[Record] = []
    def read_data(self):
        f = open(self.path, "r", "UTF-8")
        
        for line in f.readlines():
            data_dict = json.loads(line)
            record = Record(data_dict["date"], data_dict["order_id"], int(data_dict["money"]), data_dict["province"])
            record_list.append(record)
        
        f.close()
        return record_list