读取CSV文件并生成字典

读取CSV文件并生成字典,csv,dictionary,Csv,Dictionary,我有一个CSV文件看起来像 打39,打24,打9 Hit8,Hit39,Hit21 Hit46,Hit47,Hit20 打24,打53,打46 我想阅读该文件并根据先到先得原则创建一本词典 比如打39:1,打24:2等等 但请注意,Hit39出现在第2列和第2行。因此,如果读者阅读了它,那么它就不应该将它附加到字典中,它将继续使用新的数字 一旦一个行号被访问,如果它出现了,就不应该在它后面包含数字。因为Python是一种有字典的流行语言,所以您必须使用Python。至少我认为是这样 import

我有一个CSV文件看起来像

打39,打24,打9

Hit8,Hit39,Hit21

Hit46,Hit47,Hit20

打24,打53,打46

我想阅读该文件并根据先到先得原则创建一本词典

比如打39:1,打24:2等等

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


一旦一个行号被访问,如果它出现了,就不应该在它后面包含数字。

因为Python是一种有字典的流行语言,所以您必须使用Python。至少我认为是这样

import csv

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

print d

使用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))

输入的预期输出是什么?此外,示例还不足以理解您想要什么。为什么第二个Hit39被排除在外?因为它以前遇到过,还是因为它成功命中了8?