From 9de05150bc7a651c4496b61cf0ef10a7204622ba Mon Sep 17 00:00:00 2001 From: Jakub Zacek Date: Mon, 14 Feb 2022 18:41:43 +0100 Subject: [PATCH] final --- vdgdsp_final | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 vdgdsp_final diff --git a/vdgdsp_final b/vdgdsp_final new file mode 100644 index 0000000..92fe9f0 --- /dev/null +++ b/vdgdsp_final @@ -0,0 +1,92 @@ +import csv + +FILE = 'Summarised_data_usage_per_ICCID_(STCU)_20211101_20211130_2021-12-02T94742084Z.CSV' +FILE2 = 'Standard_Pairing_File___2021-12-02T1142395Z.CSV' +FILE3 = 'VFGDSP202110_Summarised_SMS_usage_per_IMSI.CSV' + + +class One(object): + def __init__(self, iccid, imsi, price, smscount): + self.iccid = iccid + self.imsi = imsi + self.price = price + self.smscount = smscount + + def __str__(self): + return " iccid: %s, imsi: %s, price: %s, smscount: %s)" % (self.iccid, self.imsi, self.price, self.smscount) + + +dict_by_iccid = {} +with open(FILE, newline='', encoding="utf-8") as csvfile: + reader = csv.DictReader(csvfile, delimiter=',') + for row in reader: + # print(row) + iccid = int(row['ICCID']) + #price = row['Sum Total Kbytes'].replace(',', '.') + price = row['Sum Total Kbytes'] + price = price.replace(' ', '') + # print(iccid, price) + price = (2.23 * float(price)) / 1024 + + if iccid in dict_by_iccid: + dict_by_iccid[iccid].price += price + else: + dict_by_iccid[iccid] = One(iccid=iccid, imsi=0, price=price,smscount=0) +# dict_by_iccid = { iccid1: One(), iccid2:One(), iccid3:One(), } + +# only add IMSI if possible +with open(FILE2, newline='', encoding="utf-8") as csvfile2: + reader2 = csv.DictReader(csvfile2, delimiter=',') + for row in reader2: + + imsi2 = int(row['IMSI']) + iccid2 = int(row['ICCID']) + + if iccid2 in dict_by_iccid: + dict_by_iccid[iccid2].imsi = imsi2 + else: + dict_by_iccid[iccid2] = One(iccid=iccid2, imsi=imsi2, price=0, smscount=0) + +# dict_by_iccid = { iccid1: One(), iccid2:One(), iccid3:One(), } +# new dictionary for easier look up +dict_by_imsi = {} +for i in dict_by_iccid.values(): + dict_by_imsi[i.imsi] = i +# dict_by_imsi = { imsi1: One(), imsi2:One(), imsi3:One(), } + +# add price for one imsi +with open(FILE3, newline='', encoding="utf-8") as csvfile3: + reader3 = csv.DictReader(csvfile3, delimiter=',') + for row in reader3: + smspay = int(row['Nr. of SMS payload']) + smsmo = int(row['Nr. of SMS MO']) + imsi3 = int(row['IMSI']) + # print("IMSI: ",imsi) + # print("smspay: ",smspay) + # print("smsmo: ", smsmo) + + price = (smspay * 0.26) + (smsmo * 1.28) + smscountnum = smspay + smsmo + + if imsi3 in dict_by_imsi: + dict_by_imsi[imsi3].price += price + dict_by_imsi[imsi3].smscount += smscountnum + else: + dict_by_imsi[imsi3] = One(iccid=None, imsi=imsi3, price=price, smscount=smscountnum) + + +with open('vystup_tadaaa.csv', 'w') as csv_file: + for value in dict_by_imsi.values(): + print(value.iccid, value.imsi, value.price, value.smscount) + writer = csv.writer(csv_file) + writer.writerow([value.iccid, value.imsi,value.price,value.smscount]) + + + + #print(i) + +# with open('dict.csv', 'w') as csv_file: +# writer = csv.writer(csv_file) +# for key, value in dict_by_imsi.items(): +# writer.writerow([key, value]) +