将csv读入字典,将特定列值作为键

时间:2016-06-20 04:08:45

标签: python csv dictionary

我正在尝试将csv读入python中的字典

Name    Value    time  count
sample  A        00:00  45
sample  A        01:00  46
sample  A        02:00  50
sample  A        03:00  85
sample  A        04:00  87
abb     B        00:00  40
abb     B        01:00  55

我希望输出为:

{ A:[{time:00:00 ,count:45},{time:01:00,count:46},{time:02:00,count:50}]}

有人可以帮助我如何获得输出吗?

我尝试使用dict理解我能够将csv读取到一个字典,其中key作为列标题,值为行但不确定如何获得上述输出。

1 个答案:

答案 0 :(得分:0)

读入文件然后拆分为抽象键和值

with open(file,'rb') as f:
 res = {}
 reader  = csv.reader(f)
 for i,line in enumerate(reader):
   if i == 0: continue 
   keyWord = line.split(' ')[1]
   timeKeyword  = 'time:' + line.split(' ')[2]
   countValue = line.split(' ')[3]
   res[keyWord ] = res.get(keyWord,[]) + [{timeKeyword : int(countValue )}]