0

我有一个 CSV 文件看起来像

命中 39、命中 24、命中 9

命中 8、命中 39、命中 21

命中 46、命中 47、命中 20

命中 24、命中 53、命中 46

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

比如 Hit39 : 1, Hit 24:2 等等......

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

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

4

2 回答 2

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))
于 2012-07-21T19:58:19.560 回答
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
于 2012-07-21T19:50:56.710 回答