Сумма значений на ключ из CSV-файла - PullRequest
1 голос
/ 10 ноября 2019

Приведенный ниже код импортирует CSV-файл Excel (несчастные случаи с аттракционами), и я выбрал два нужных мне столбца - состояние и количество пострадавших. Затем я использовал append для уплотнения состояния, но не смог сделать это с пронумерованными ранеными. Мне нужно добавить число травмированных в каждом штате из моего словаря, который я создал. Ничего, что я посмотрел, не работает. Я пытался использовать цикл for для перебора моего нового словаря и суммирования суммы по состоянию (в этом словаре около 38). Любые предложения очень ценятся. Это класс для начинающих, использующий Python 2.7

import csv

source = open('Saferparks-dataset-2017.csv')

amusement = csv.reader(source)

ride_accidents_state = {}

next(amusement)

for col in amusement:

    if col[2] in ride_accidents_state:

        ride_accidents_state[col[2]].append(col[12]) 

    else:

        ride_accidents_state[col[2]] = [col[12]]

print ride_accidents_state

1 Ответ

0 голосов
/ 11 ноября 2019

Вы можете подумать об упрощении, сделав суммирование сразу в цикле for вместо добавления, а затем суммируя по этому списку. Вот пример, который показывает подход, использующий структуру, аналогичную той, которая у вас есть. Надеюсь, это поможет:

myData = [['WA', '1'], ['WA', '2'], ['WI', '4'], ['WI', '3'], ['WA', '10']]
ride_accidents_state = {}

for col in myData:

    if col[0] in ride_accidents_state:

        ride_accidents_state[col[0]] = ride_accidents_state[col[0]] + int(col[1])

    else:

        ride_accidents_state[col[0]] = int(col[1])

print ride_accidents_state
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...