Я хочу подсчитать количество любых действий, разделенных на месяц, форму и участников в наборе данных .
Вот мой код
import csv
count_dict = dict()
with open(r'st2.csv',
mode = 'r') as csv_file:
lines = csv_file.readlines()
for row in lines:
data = row.split(',')
key = data[1] + '\t' + data[2] + '\t' + data[3][:7] + '\t' + data[4].strip()
if key in count_dict:
count_dict[key] += 1
else:
count_dict[key] = 1
print('\t'.join(['Name', 'Shape', 'Month', 'Action', 'Count']))
for element, count in count_dict.items():
items = element.split('\t')
activities = dict()
curdict = activities
for chunk in items:
curdict[chunk] = dict()
curdict = curdict[chunk]
for i in activities:
for k in activities[i]:
for l in activities[i][k]:
for m in activities[i][k][l]:
activities[i][k][l][m] = count
print(activities)
Как В результате я получаю серию словарных статей.
Как я могу посчитать такие значения в одном вложенном диктовке с такой структурой?
{'Googenhaim': {'Circle': {'2020-04': {'pin': 0, 'tap': 0, 'throw': 0, 'play': 1}, '2020-06': {'pin': 0, 'tap': 0, 'throw': 0, 'play': 1}, '2020-05': {'pin': 0, 'tap': 0, 'throw': 0, 'play': 1}}, 'Rectangle': {'2020-04': {'pin': 0, 'tap': 0, 'throw': 0, 'play': 1}, '2020-06': {'pin': 0, 'tap': 0, 'throw': 0, 'play': 1}, '2020-05': {'pin': 0, 'tap': 0, 'throw': 0, 'play': 1}}, 'Trapezoid': {'2020-04': {'pin': 0, 'tap': 0, 'throw': 0, 'play': 1}, '2020-06': {'pin': 0, 'tap': 0, 'throw': 0, 'play': 1}