Posts Tagged ‘Reliance’

Python CSV Hack!

Wednesday, December 9th, 2009

This is just a simple hack I did today morning.

This is to calculate my total internet data usages.

From my ISP Reliance Netconnect Broadband + I get one CSV file with all the details, and to view this I don’t have any spreadsheet viewer kinda thing installed on my system, so how to calculate the usages?

I wrote small python script to do so, this is about it how it works.

contents of CSV file looks something like this :

Date Of Access,Time Of Access,Session Duration,Data Upload(KBs),Data Download(KBs),Total Data Transferred(KBs)
22-10-2009, 07:36:58,2623,1060.50390625,7934.458984375,8994.962890625
22-10-2009, 19:47:34,13675,22826.49609375,344230.265625,367056.76171875
22-10-2009, 23:35:29,229,24.2666015625,33.56640625,57.8330078125
22-10-2009, 23:39:18,13792,838.701171875,11057.255859375,11895.95703125
23-10-2009, 03:32:53,14839,18841.23046875,104978.8837890625,123820.1142578125
23-10-2009, 20:47:20,292,117.1015625,647.9287109375,765.0302734375
23-10-2009, 20:52:12,233,226.669921875,2429.98828125,2656.658203125
23-10-2009, 03:32:49,4,0,0,0
23-10-2009, 20:56:08,22657,57322.56640625,939251.0869140625,996573.6533203125
24-10-2009, 03:13:45,1399,145.619140625,287.9228515625,433.5419921875
24-10-2009, 03:37:03,4745,199.060546875,289.611328125,488.671875
24-10-2009, 19:40:46,3172,799.1708984375,5288.591796875,6087.7626953125

Basically divided into 6 Fields ie.
Date Of Access  | Time Of Access | Session Duration  | Data Upload(KBs) | Data Download(KBs) | Total Data Transferred(KBs)
separated by “,” (comma) .

Here my required field is Total Data Transferred(KBs), thats the last field.

means I need to add last field of each row.

the python scrip for the same is:
# Open file
f = open("tel.csv")

# Read all lines in list called lines
lines = f.readlines()

# Initialize variable to store the total
total = 0.0

""" Remove the 1st line from the lines list as
it's the header which we don't require"""

lines.pop(0)

for i in lines:

""" Split each line on ","(comma)
so that you will get all the 6 fields for that line as list"""

i = i.split(",")

""" Take the last value, convert it to float
and add it to the total variable"""

total += float(i[-1])

# Print the total in Kb
print "total data uses in Kb: " + total
# Print the total in Mb
print "total data uses in Mb: " + total/1024
# Print the total in Gb
print "total data uses in Gb: " + (total/1024)/1024

Happy Hacking !!