我需要解析大文本文件的建议(大小为6GB)

时间:2011-03-07 14:02:41

标签: database parsing file text

我需要有关解析大文本文件的建议 - 大小为6GB

我所做的是使用Thundervird下载我的所有Gmail 我现在有一个mbox文件,其中包含我的所有电子邮件 - 这是一个文本文件 - 大小为6GB

我需要解析此文件并提取遵循特定模式的特定数据

第一个问题:我应该使用哪种语言? 我搜索了一些类似于此的其他线程,并了解Perl或Python(以及一个或另外两个)会没问题

第二个问题:我在其中一篇帖子回复中读到,将文本文件加载到数据库并让数据库搜索文本文件可能会更好吗?

我需要生成CSV作为输出

所以......走向数据库路线对我来说更明智吗?

第三个问题:一段字符串有多长......我的意思是......通过我的6Gb文件需要多长时间...好吧,没有可能没有回答一些细节!

我需要提取以下数据:

First Name: 
Last Name: 

Address:

Telephone: 
Mobile:
Email:

所以...我需要知道我是否需要运行脚本并让我的机器在一夜之间运行 我不确定上面是否是一个非常愚蠢的问题 - 但我想我还是会问的

任何回复都会很棒

由于

奥马

2 个答案:

答案 0 :(得分:1)

  1. 您应该使用您更熟悉的语言。在性能方面,Perl程序通常可以比python更快地解析文本数据。

  2. 无论是否使用数据库,都需要解析数据。如果您之后要进行大量的查询/搜索,那么您应该考虑将解析后的数据加载到数据库中。

  3. 取决于您尝试匹配的模式有多复杂。可能不超过1小时。

答案 1 :(得分:0)

您可以使用光圈项目查询mbox内容:

http://aperture.sourceforge.net/