Найти - Пользователи
Полная версия: Поиск дубликатов и суммирование значений по ключу
Начало » Python для новичков » Поиск дубликатов и суммирование значений по ключу
1
mflash123
Всем привет,бьюсь битый час над задачей
Имеется csv с 2 полями
12 456
1 9404
45 34234
32 456

Необходимо вывести все записи,но сложить сумму первой колонки у повторяющихся значений из второй.Т.е. так должен выглядеть результат:
44 456
1 9404
45 34234

По логике,можно бы было сделать ее, как в двумерном массиве-искать существующий ключ и если нашел,складывать значения первой колонки,но в питоне как сделать двумерный list не могу разобраться,а с массивами вобще беда,я так понял, питон массив не жалует.
Как можно решить подобную задачу?
bismigalis
по ключу
dict же
Budulianin
mflash123
Как можно решить подобную задачу?

import csv
from collections import OrderedDict
reader = csv.reader(open('input.csv'), delimiter=' ')
count = OrderedDict()
for elem in reader:
    count[elem[1]] = count.get(elem[1], 0) + int(elem[0]) 
csv_writer = csv.writer(open('output.csv', 'w'), delimiter=' ')
for row in zip(count.values(), count.keys()):
    csv_writer.writerow(row)
ilnur
result = {}
for line in open(file_name).read.().splitlines():
    # разделитель csv 'запятая'
    a,b = line.split(',')
    result.setdefault(b, 0)
    result[b] += int(a)
print result
# {'34234': 45, '456': 44, '9404': 1}

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB