I have a csv file. I want to make an aggregation operation on this. My aim is printing the daily number of unique measurements in descending order based on dates.
.csv file looks like this:
['endDate,weight\n',
 ' 2020-06-12  00:00:00+03:00 , 91.5,91.9,91.9,91.9,92.55,92.55,92.55,92.55,92.1,92.1,93.3,93.3 \n',
 ' 2020-06-13  00:00:00+03:00 , 91.6,91.6,92.85,92.85,92.85,92.85,92.3,92.3,92.1,92.1,94.1,94.1 \n',
 ' 2020-06-14  00:00:00+03:00 , 91.5,91.5,91.65,91.65,91.5,91.5,92.9,92.9 \n',
 ' 2020-06-15  00:00:00+03:00 , 91.85,91.85,91.6,91.6,91.85,91.85,92.55,92.55,92.4,92.4,93.7,93.7,93.35,93.35 \n',
 ' 2020-06-16  00:00:00+03:00 , 91.6,91.6,91.3,91.3,92.75,92.75,92.15,92.15,93.15,93.15,92.9,92.9 \n',
 ' 2020-06-17  00:00:00+03:00 , 91.05,91.05,91.85,91.85,92.4,92.4,92.4,92.4,94.0,94.0,93.7,93.7,93.05,93.05,93.05,93.05 \n',
 ' 2020-06-18  00:00:00+03:00 , 91.55,91.55,91.45,91.45,91.25,91.25,91.65,92.2,91.95 \n',
 ' 2020-06-19  00:00:00+03:00 , 91.3,91.6,92.45,92.05,91.8,93.1,92.7,93.5,93.15 \n',
 ' 2020-06-20  00:00:00+03:00 , 90.8,90.8,90.6,90.6,90.6,90.6,92.15,92.15,92.05,92.05,91.4,91.4 \n',
 ' 2020-06-21  00:00:00+03:00 ,\n']
Expecting result is:
import re
import collections
with open("weights.csv") as myFile:
    formattedData = dict()
    for line in myFile:
        try:
            date , numbers = line.split(' , ')
            numbers = numbers.replace("\n","") 
            numbers = numbers.split(',')
            formattedData[date] = len(list(set(numbers)))
        except:
            date = line
            formattedData[date]=0
formattedData
After splitting data, my data looks like this:
{'endDate,weight\n': 0,
 ' 2020-06-12  00:00:00+03:00 , 91.5,91.9,91.9,91.9,92.55,92.55,92.55,92.55,92.1,92.1,93.3,93.3 \n': 0,
 ' 2020-06-13  00:00:00+03:00 , 91.6,91.6,92.85,92.85,92.85,92.85,92.3,92.3,92.1,92.1,94.1,94.1 \n': 0,
 ' 2020-06-14  00:00:00+03:00 , 91.5,91.5,91.65,91.65,91.5,91.5,92.9,92.9 \n': 0,
 ' 2020-06-15  00:00:00+03:00 , 91.85,91.85,91.6,91.6,91.85,91.85,92.55,92.55,92.4,92.4,93.7,93.7,93.35,93.35 \n': 0,
 ' 2020-06-16  00:00:00+03:00 , 91.6,91.6,91.3,91.3,92.75,92.75,92.15,92.15,93.15,93.15,92.9,92.9 \n': 0,
 ' 2020-06-17  00:00:00+03:00 , 91.05,91.05,91.85,91.85,92.4,92.4,92.4,92.4,94.0,94.0,93.7,93.7,93.05,93.05,93.05,93.05 \n': 0,
 ' 2020-06-18  00:00:00+03:00 , 91.55,91.55,91.45,91.45,91.25,91.25,91.65,92.2,91.95 \n': 0,
 ' 2020-06-19  00:00:00+03:00 , 91.3,91.6,92.45,92.05,91.8,93.1,92.7,93.5,93.15 \n': 0,
 ' 2020-06-20  00:00:00+03:00 , 90.8,90.8,90.6,90.6,90.6,90.6,92.15,92.15,92.05,92.05,91.4,91.4 \n': 0,
 ' 2020-06-21  00:00:00+03:00 ,\n': 0}
c=Counter(formattedData)
 
    