2014-10-18 75 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

回答