2010-04-16 3 views
1

두 개의 필드 (id, url) 만 포함하는 매우 큰 CSV 파일이 있습니다. 파이썬으로 url 필드에 대한 색인을 만들고 싶습니다. Whoosh 나 Pylucene과 같은 도구가 있다는 것을 알고 있습니다. 그러나 나는 예제가 작동하도록 할 수 없다. 누군가 날 도와 줄 수 있니?파이썬에서 CSV 파일 내용 인덱싱

+1

색인 생성이란 무엇을 의미합니까? –

답변

0

file.csv 내용 :

a,b 
d,f 
g,h 
하나의 거대한 사전에 모두로드

파이썬 스크립트를

#Python 3.1 
giant_dict = {id.strip(): url.strip() for id, url in (line.split(',') for line in open('file.csv', 'r'))} 

print(giant_dict) 
{'a': 'b', 'd': 'f', 'g': 'h'} 
+1

친애하는 영주 님, CSV 모듈을 사용하는 대신 직접 구문 분석하는 이유는 무엇입니까 ?? – moshez

+0

문제는이 파일이 5GB를 초과한다는 것입니다. 그래서 나는 그것을 즉시 메모리에로드 할 수 없다! – Hossein

+0

정확히 무엇을하려고합니까? line in open ('file.csv')을 사용하여 파일을 한 줄씩 읽을 수 있습니다. 또한 9GB 또는 RAM을 설치하지 않는 이유는 무엇입니까? –

1

PyLucene 함께 작업하는 것은 매우 쉽습니다,하지만 당신은 게시하지 않은로 예를 들어 내가 겪고있는 문제가 확실하지 않다.

또는 key : value 유형의 데이터 만있는 경우 Pylucene보다 데이터베이스가 Berkeley DB (파이썬 바인딩 pybsddb) 일 수 있습니다. 그것은 파이썬 사전처럼 작동 할 것이고 lucene만큼 빠르거나 빨라야합니다. 시도해 볼 수 있습니다.