2012-07-21 247 views
0

我有一個CSV文件看起來像閱讀CSV文件,並生成字典

Hit39,Hit24,Hit9

Hit8,Hit39,Hit21

Hit46,Hit47,Hit20

Hit24,命中53,Hit46

我想讀取文件並根據先來先得先創建字典

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

但注意Hit39出現在第2列和第2列。因此,如果讀者閱讀它,它不應該將其附加到字典,它將繼續與新號碼。

一旦行號被訪問,它應該不包括數字後,如果出現。

+3

用什麼語言? – 2012-07-21 19:44:05

+2

輸入的預期輸出是什麼? – 2012-07-21 19:45:47

+0

另外,這個例子還不足以理解你想要的東西。爲什麼排除第二個Hit39?因爲之前遇到過,或者因爲它成功Hit8? – tiwo 2012-07-21 19:52:50

回答

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