2012-07-21 2 views
0

I 읽기 CSV 파일을 생성하는 사전

이 Hit39, Hit24, Hit9

이 Hit8, Hit39, Hit21

이 Hit46, Hit47, Hit20

Hit24, 히트

같은 CSV 파일의 모양이 53, Hit46

먼저 파일을 읽고 첫 번째 기본 제공 첫 번째 기초를 기반으로 사전을 만듭니다.

히트 39 : 1, 히트 24 : 2 등 ...

하지만 히트 39가 2 열 2 행에 나타났습니다. 그래서 독자가 그것을 읽으면 새로운 번호로 계속 움직일 사전에 그것을 덧붙여서는 안됩니다.

일단 행 번호를 방문하면 해당 번호가 나오면 그 뒤에 숫자를 포함하면 안됩니다.

+3

어떤 언어로 작성 되었습니까? –

+2

입력에서 예상되는 출력은 무엇입니까? –

+0

또한이 예제는 원하는 것을 이해하는 것으로 충분하지 않습니다. 두 번째 Hit39가 제외 된 이유는 무엇입니까? 그것은 전에 발생했기 때문에, 또는 그것이 Hit8을 succedes 때문에? – tiwo

답변

1

은 하나 개의 거대한 목록이었다 것처럼 파일을 치료하고 값의 고유의 발행 수에 증가하는 변수를 지정합니다.

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

파이썬은 사전이있는 대중적인 언어이기 때문에 파이썬을 사용해야합니다. 적어도 나는 생각한다. 영업 이익이 명확 할 때까지 추측 - - 파이썬를 사용

import csv 

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

print d