c#解析海量数据文本排重问题(求助高手帮忙)

我现在要解析一个800M的文本文件,然后进行数据统计,这个文本文件的格式基本如下
[2009-08-14 09:00:36] logtype:[photo] company:[dell] uid[2031]
[2009-08-14 09:00:37] logtype:[music] company:[dell] uid[2039]
[2009-08-14 09:00:38] logtype:[music] company:[IBM] uid[2038]
[2009-08-14 09:00:39] logtype:[music] company:[NOKIA] uid[2059]

此数据文件我己经解析到临时表datatable中

我现在要进行排重操作

比如我要取company是dell的项,因为其中有两个,我在进行统计时只统计一次就可以了,在SQL中可以用distinct进行操作

我现在的前提是这个文本数据量太大不能插入到数据库里面,请高手指点如何利用datatable进行排重操作.谢谢!


皈依舞
浏览 242回答 2
2回答

绝地无双

海量”已经那么不值钱了啊。你既然选择读到内存中,为啥要用DataTable,读成对象,然后LINQ咯。

翻过高山走不出你

如果只是统计一下有多少家公司,我觉得不需要将数据放数据库,只需要用i/o操作读文件,一次读一行,然后分析每一条记录的company的值,存入到一个ArrayList中,就能实现统计公司数量了。至于怎么分析每一条记录,可以用正则来实现。
打开App,查看更多内容
随时随地看视频慕课网APP