2010-04-16 67 views
1

我有一個非常大的CSV文件只包含兩個字段(id,url)。我想用python做一些關於url字段的索引,我知道有一些工具比如Whoosh或者Pylucene。但我無法得到這些例子的工作。有人可以幫我弄這個嗎?在Python中索引CSV文件內容

+1

你是什麼意思索引? – 2010-04-16 23:31:37

回答

0

FILE.CSV內容:

a,b 
d,f 
g,h 
加載它全部變成一個巨大的字典

Python腳本:

#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 2010-04-16 23:58:26

+0

問題是這個文件將超過5GB。所以我不能一次加載到內存中! – Hossein 2010-04-17 00:19:22

+0

你究竟想要做什麼?你可以逐行閱讀文件:for open in line('file.csv')。另外,爲什麼不只是安裝9GB或RAM? – 2010-04-17 00:22:26

1

PyLucene是很容易的工作,但你有沒有張貼您的例如我不知道你面臨什麼問題。

或者,當你只有key:value類型的數據時,可能會比Pylucene更好,像DB Berkeley DB(python綁定pybsddb)。它將像Python字典一樣工作,並且應該比lucene更快或更快,您可以嘗試。