Я недавно начал изучать Python, и я хотел написать скрипт для извлечения дня месяца из столбца CSV (в формате YYYY / DD / MM), а затем сравнивать пользователей сайта с днями месяца (и, возможно, неделями).месяца) как задача / учебное упражнение.Суть в том, что он извлекает информацию CSV, форматирует ее / конвертирует в целые числа и объединяет ее обратно в словарь, сравнивая дни 1-31 с количеством посетителей сайта.
Мой код приведен ниже.Я получаю сообщение об ошибке «KeyError: 1» в строке 29 result[days] = users
.Я думаю, что понимаю, что происходит (вроде - я думаю, что меня не устраивает способ, которым я пытаюсь присвоить значения пустому словарю? Кажется, я искал целое число 1 в качестве ключа, но не нашел его?) но я не могу понять, что делать дальше.У меня около 2 недель на изучение Python, поэтому я надеюсь, что это не слишком глупый вопрос.Что я делаю неправильно?Как сделать столбцы с индексами [0] и [1] для users_by_day ключом и значением в моем словаре?
Примечание. Я изучаю и использую Python 3.
import csv
result = {}
with open('analytics.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
line_count = 0
users_by_day = list(csv_reader)
for row in users_by_day: #iterate through data
day = row[0].split('/') #split date to extract day of month
try: #skip unsplit cells
day = day[1]
except Exception as e:
pass
row[0] = day #set list column to extracted day value
users_by_day = users_by_day[1:-1] #strip headers
for row in users_by_day:
days = None
users = None
days = int(row[0]) #set values to int for math
users = int(row[1])
if days is not None:
if days in result: #trying to check for days in result
result[days] = users #where key error occurs
else:
result[days] += users
print(result)