阅读CSV文件,并生成字典
问题描述:
我有一个CSV文件看起来像阅读CSV文件,并生成字典
Hit39,Hit24,Hit9
Hit8,Hit39,Hit21
Hit46,Hit47,Hit20
Hit24,命中53,Hit46
我想读取文件并根据先来先得先创建字典
像Hit39:1,Hit 24:2等等......
但注意Hit39出现在第2列和第2列。因此,如果读者阅读它,它不应该将其附加到字典,它将继续与新号码。
一旦行号被访问,它应该不包括数字后,如果出现。
答
使用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))
答
由于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-21 19:44:05
输入的预期输出是什么? – 2012-07-21 19:45:47
另外,这个例子还不足以理解你想要的东西。为什么排除第二个Hit39?因为之前遇到过,或者因为它成功Hit8? – tiwo 2012-07-21 19:52:50