2014-10-18 72 views
1

我有幾乎千萬行,結構這樣一個CSV文件:如何選擇F#中的數據結構?

date , code , ret 
2001-01-01,000001,0.1 
2001-01-01,000002,0.01 
2001-01-02,000001,0.05 
2001-01-02,000002,0.02 

字段「日期」和「密碼」都只有一個密鑰。我要趕緊子集的文件,這樣

subset(code='000001') 

date , code , ret 
2001-01-01,000001,0.1 
2001-01-02,000001,0.05 

subset(date='2001-01-01') 

date , code , ret 
2001-01-01,000001,0.1 
2001-01-01,000002,0.01 

應該如何選擇合適的數據結構,使之有效運作?

+1

我不認爲這是F#特定的問題。你需要某種字典(可能是兩個,一個是按日期快速查找,另一個是通過代碼獲取)。在F#中它會是'map' http://msdn.microsoft.com/en-us/library/ee353686.aspx。您必須將整個文件加載到內存中才能執行此操作。您也可以將其加載到數據庫中,在代碼和數據上應用索引並查詢該表。 – MarcinJuraszek 2014-10-18 03:13:57

+0

非常感謝。我可以用兩個字典來做到這一點。 – shankshuo 2014-10-18 13:21:03

回答