python如何迭代CSV文件中同一列的单元格?

时间:2015-08-30 15:17:28

标签: python python-2.7 csv

假设我有一个包含以下列的csv文件:

system     component    version  otherColumn...

type1         abc          4      
              qwe          5
              asd          6

type2         rty          3

type3         vbn          8
              asd          9

我想将CSV文件解析为字典,如下所示:

{
 type1: { abc: 4, qwe: 5,asd: 6}
 type2: { rty: 3}
 type3: { vbn: 8, asd: 9}
}

我只想要dict中的上述3列。其他列不是必需的。

我尝试如下:

import csv

dict = {}
f = open("myfile", 'rt')
reader = csv.reader(f)
     for col in row
        if col == 'system':
            //I am stuck here

有人可以协助他们如何做到这一点吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

下面:

import csv

data = {}
with open("myfile", "rb") as f:
    reader = csv.DictReader(f)
    for row in reader:
        d = data.setdefault(row["system"], {})
        # Here, you may want to handle invalid values in the version field
        d[row["component"]] = int(row["version"])