class Record:
def __init__(self,date,id,price,province):
self.date=date
self.id=id
self.price=price
self.province=province
def __str__(self):
return f"{self.date},{self.id},{self.price},{self.province}"
class FileReader:
def file_reader(self):
pass
class TextFileReader(FileReader):
def __init__(self,path):
self.path=path
def file_reader(self)->list[Record]:
f=open(self.path,'r',encoding="UTF-8")
record_list=[]
for line in f.readlines():
line=line.strip()
line=line.split(",")
record=Record(line[0],line[1],int(line[2]),line[3])
record_list.append(record)
f.close()
return record_list
class JsonFileReader(FileReader):
def __init__(self,path):
self.path=path
def file_reader(self)->list[Record]:
f=open(self.path,'r',encoding="UTF-8")
record_list=[]
for line in f.readlines():
line=json.loads(line)
record=Record(line["date"],line["order_id"],int(line["money"]),line["province"])
record_list.append(record)
f.close()
return record_list
if __name__=="__main__":
text_file_reader=TextFileReader("2011年1月销售数据.txt")
list1=text_file_reader.file_reader()
json_file_reader=JsonFileReader("2011年2月销售数据JSON.txt")
list2=json_file_reader.file_reader()
all_data=list1+list2
data_dict={}
for r in all_data:
if r.date in data_dict.keys():
data_dict[r.date]+=r.price
else:
data_dict[r.date]=r.price
print(data_dict)
2011年1月销售数据.txt
2011-01-01,4b34218c-9f37-4e66-b33e-327ecd5fb897,1689,湖南省
2011-01-01,5b6a6417-9a16-4243-9704-255719074bff,2353,河北省
2011-01-01,ae240260-68a9-4e59-b4c9-206be4c08a8d,2565,湖北省
2011-01-01,c833e851-880f-4e05-9de5-b547f5ffc5e1,2877,山东省
2011年2月销售数据JSON.txt
{"date": "2011-02-01", "order_id": "caf99222-53d6-427b-925d-3187fc71a86a", "money": 1805, "province": "江西省"}
{"date": "2011-02-01", "order_id": "3dea6f83-a9b2-4197-ba9f-2b25704c530b", "money": 2547, "province": "广东省"}
{"date": "2011-02-01", "order_id": "93cf7a56-3f90-4df9-af76-de7233c1dddb", "money": 1216, "province": "福建省"}
{"date": "2011-02-01", "order_id": "0042323a-e555-4d64-a70b-81380ca3aae7", "money": 1193, "province": "四川省"}