【发布时间】:2016-03-10 19:41:56
【问题描述】:
我有一个 csv 文件,其中包含很多序列号和材料编号,例如:如下所示(我只需要前 2 列,即序列号和底盘,不需要其余部分)。
serial chassis type date
ZX34215 Test XX YY
ZX34215 final-001 XX YY
AB30000 Used XX YY
ZX34215 final-002 XX YY
我有下面的 sn-p 它将所有序列号和材料号放入字典中,但这里重复键被消除并捕获最新的序列号。
工作代码
import sys
import csv
with open('file1.csv', mode='r') as infile:
reader = csv.reader(infile)
mydict1 = {rows[0]:rows[1] for rows in reader}
print(mydict1)
我还需要捕获具有相应值的重复键,但它失败了。我使用了 python defaultdict,看起来我在这里错过了一些东西。
不工作
from collections import defaultdict
with open('file1.csv',mode='r') as infile:
data=defaultdict(dict)
reader=csv.reader(infile)
list_res = list(reader)
for row in reader:
result=data[row[0]].append(row[1])
print(result)
有人可以纠正我将重复的键捕获到字典中吗?
【问题讨论】:
标签: python python-2.7 python-3.x