读取CSV文件并生成词典

时间:2012-07-21 19:41:15

标签: csv dictionary

我的CSV文件看起来像

Hit39,Hit24,Hit9

Hit8,Hit39,Hit21

Hit46,Hit47,Hit20

Hit24,Hit 53,Hit46

我想阅读文件并根据先来先到先得的原则创建字典

像Hit39:1,Hit 24:2等等......

但是注意Hit39出现在第2列和第2列。因此,如果读者阅读它,那么它不应该将它附加到字典中,它将继续使用新的数字。

访问行号后,如果出现,则不应包含数字。

2 个答案:

答案 0 :(得分:1)

使用 Python - 在澄清OP之前进行最佳猜测 - 将文件看作是一个巨大的列表并将增量变量分配给唯一的值出现。

import csv
from itertools import count

mydict = {}
counter = count(1)
with open('infile.csv') as fin:
    for row in csv.reader(fin, skipinitialspace=True):
        for col in row:
            mydict[col] = mydict.get(col, next(counter))

答案 1 :(得分:0)

由于Python是一种具有词典的流行语言,因此必须使用Python。至少我认为。

import csv

reader = csv.reader(file("filename.csv"))
d = dict((line[0], 1+lineno) for lineno, line in enumerate(reader))

print d