Мне нужен совет по разбору большого текстового файла (размером 6 ГБ) - PullRequest
1 голос
/ 07 марта 2011

Мне нужен совет по синтаксическому анализу большого текстового файла - размером 6 ГБ.

Что я сделал, так это загрузил всю мою почту Gmail с помощью Thundervird. Теперь у меня есть файл mbox со всей моей электронной почтой - это текстовый файл.- размером 6 ГБ

Мне нужно проанализировать этот файл и извлечь конкретные данные, которые следуют определенному шаблону

Первый вопрос : какой язык использовать?Я искал некоторые другие темы, похожие на это, и понимаю, что Perl или Python (и один или два других) будут в порядке

Второй вопрос, хотя : я прочитал в одном из ответов на постчто может быть лучше загрузить текстовый файл в базу данных и позволить базе данных выполнять поиск по текстовому файлу?

Мне нужно сгенерировать CSV в качестве вывода

Итак ...для меня было бы разумнее пойти по маршруту БД?

Третий вопрос : Как долго это кусок строки ... я имею в виду ... сколько времени потребуется, чтобы пройти через мойФайл 6Gb ... ОК, без каких-либо подробностей ответить невозможно!

Мне нужно вытащить следующие данные:

First Name: 
Last Name: 

Address:

Telephone: 
Mobile:
Email:

Итак ... Мне нужно знать, нужно ли мнечтобы запустить скрипт и оставить мою машину включенной на ночь, я не уверен, действительно ли вышеупомянутое - действительно тупой вопрос или нет - но я решил спросить в любом случае

ЛЮБЫЕ ответы были бы отличными

Спасибо

Омар

Ответы [ 2 ]

1 голос
/ 07 марта 2011
  1. Вы должны использовать любой язык, с которым вы более знакомы.С точки зрения производительности, программы Perl обычно могут анализировать текстовые данные быстрее, чем python.

  2. Вам необходимо анализировать данные независимо от того, используется база данных или нет.Если вы собираетесь выполнять много запросов / поисков после этого, вам следует рассмотреть возможность загрузки проанализированных данных в базу данных.

  3. Зависит от того, насколько сложным вы пытаетесь использовать шаблончтобы соответствовать.Вероятно, не более 1 часа.

0 голосов
/ 07 марта 2011

Вы можете использовать проект aperture для запроса содержимого mbox:

http://aperture.sourceforge.net/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...