Question

I am querying a database for Leads. Leads have a "lead generated date" and a possible "closed" date.

What I would like to do is get a month by month total for leads generated/leads closed per month in the format [MM/YYYY, leads generated, leads closed] for Google Visualization API.

I have my query logic set and currently have a a result similar to:

[
["09/2011","09/2011"],
["09/2011","10/2011"],
["10/2011","12/2011"],
...
]

I am stuck trying to come up with an efficient way parse this and get the result of:

[
["09/2011", 2, 1],
["10/2011", 1, 1],
["12/2011", 0, 1]
]

Any help would be appreciated!

Was it helpful?

Solution

It's not that beautiful, but this should work:

from collections import defaultdict

d1 = defaultdict(int)
d2 = defaultdict(int)

data = [["09/2011","09/2011"],["09/2011","10/2011"],["10/2011","12/2011"]]

for d in data:
    d1[d[0]] += 1
    d2[d[1]] += 1

out = []
for key in set(d1.keys()) | set(d2.keys()):
    out.append([key, d1.get(key, 0), d2.get(key, 0)])
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top