У меня есть csv с именем, ролью, многолетним опытом. Я хочу создать список кортежей, который объединяет (name, role1, total_exp_inthisRole)
для всех работодателей. до сих пор я могу использовать defaultdict сделать нижеЭффективно использовать python groupby или defaultdict?
import csv, urllib2
from collections import defaultdict
response = urllib2.urlopen(url)
cr = csv.reader(response)
parsed = ((row[0],row[1],int(row[2])) for row in cr)
employees =[]
for item in parsed:
employees.append(tuple(item))
employeeExp = defaultdict(int)
for x,y,z in employees: # variable unpacking
employeeExp[x] += z
employeeExp.items()
выхода: [('Ken', 15), ('Buckky', 5), ('Tina', 10)]
но как я использую второй столбец также для достижения результата я хочу. Могу ли я попытаться решить groupby
возможно несколько ключей или более простой способ? Спасибо всем заранее.
Можете ли вы дать EXA нужный результат? Я имею в виду, как вы хотите объединить столбцы? – Kasramvd
Да! [('Кен', 'инженер', 5), ('ken,' sr. Engineer ', 6), ...] или [(' Ken ', (' engineer ', 5), (' sr. инженер, 6)), ...] – user6384905