【问题标题】:I need advice on parsing a large text file (6GB in size)我需要有关解析大型文本文件(6GB 大小)的建议
【发布时间】:2011-03-07 14:02:41
【问题描述】:

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

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

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

第一个问题:我应该使用什么语言? 我搜索了一些与此类似的其他线程,并了解 Perl 或 Python(以及其他一两个)会很好

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

我需要生成一个 CSV 作为输出

那么……我走 DB 路线更明智吗?

第三个问题:一段字符串有多长...呃我的意思是...浏览我的 6Gb 文件需要多长时间...好的,没有就无法回答一些细节!

我需要提取以下数据:

First Name: 
Last Name: 

Address:

Telephone: 
Mobile:
Email:

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

任何回复都会很棒

谢谢

奥马尔

【问题讨论】:

  • 以 50MB/秒的速度,您应该能够在大约 20 分钟内解析您的数据。
  • 我找人给我写了一个 perl 脚本 - 20 分钟似乎是正确的,这就是浏览整个文件需要多长时间
  • 是的,现在的高清速度差不多,很高兴你把它整理好了。

标签: database parsing file text


【解决方案1】:
  1. 您应该使用您更熟悉的任何语言。在性能方面,Perl 程序一般可以比 python 更快地解析文本数据。

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

  3. 取决于您尝试匹配的模式的复杂程度。大概不会超过 1 小时。

【讨论】:

  • 真的有帮助。谢谢。最后我有人给我写了一个perl脚本。这很好地完成了这项工作。
【解决方案2】:

可以使用aperture项目查询mbox内容:

http://aperture.sourceforge.net/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多