Python 以特定列值作为键读取csv到字典
我正在尝试用python将csv读入词典Python 以特定列值作为键读取csv到字典,python,csv,dictionary,Python,Csv,Dictionary,我正在尝试用python将csv读入词典 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 我希望输出为: {
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读入字典,其中键作为列标题,值作为行,但不确定如何获得上述输出。读入文件,然后拆分为抽象键和值
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 )}]
您可以添加您的代码,这样我们就知道在哪里可以提供最佳建议。我猜您的“想要的”输出不是有效的python dict,但您应该声明,“times”将是字符串,作为键,因此作为您想要的文本:
{'a':[{'time':'00:00','count':45…]}
因此按'Value'值分组,时间和计数的dict列表忽略“Name”列值。请相应地编辑问题。谢谢。