обработка csv файла на python
обрабатываю файл csv необходимо подсчитать количество посещений на каждой стадии, но вместо этого получаю нулевые значения.
должно получиться как-то так
а получается вот так
вот код
import csv
funnel_device={}
funnel_month={}
funnel_set={"1_home_page":0, "2_search_page":0, "3_payment_page":0, "4_payment_confirmation_page":0}
with open('C:\\Users\\Lenovo\\Desktop\\click_stream2.csv', mode='r') as csv_file: # открываем файл
csv_reader = csv.DictReader(csv_file) # читаем файл
for row in csv_reader:
page=list(row.items())[1][1]
data=list(row.items())[2][1][:-3]
device=list(row.items())[3][1]
if device not in funnel_device.keys():
funnel_device[device]=funnel_month.copy()
if data not in funnel_device.keys():
funnel_device[device][data]=funnel_set.copy()
if page=="1_home_page":
funnel_device[device][data][page]+=1
elif page=="2_search_page":
funnel_device[device][data][page]+=1
elif page=="3_payment_page":
funnel_device[device][data][page]+=1
else:
funnel_device[device][data][page]+=1
print(funnel_device)
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
У вас ошибка копипасты в проверке ключа (дважды проверяется not in funnel_device.keys()), правильно так:
if device not in funnel_device:
funnel_device[device] = funnel_month.copy()
if data not in funnel_device[device]:
funnel_device[device][data] = funnel_set.copy()
