-1

У меня есть около 300 электронных писем (Gmail), которые идут так:

Уважаемый [имя]

Код заказа: 123456789 Куплено: [имя мне нужно]

(бла-бла, еще 26 строк дерьма (всего 30 строк))

Мне нужна помощь, как сохранить почту gmail локально в .txt и экспортировать 4-ю строку из каждого текстового файла. Я могу легко запустить Заменить «Приобретено:», чтобы удалить это и сохранить только имена из этой строки в списке, но кроме этого я понятия не имею,

Есть идеи?

2 ответа2

1

Вы можете извлекать данные непосредственно из Gmail, анализировать их и сохранять на листе Excel или в других форматах, таких как XML, CSV, используя MsgExtract.

В вашем случае вы должны определить поле TextPart и использовать следующее регулярное выражение для извлечения только имени, заключенного в скобки []:

(?с)(?<=(По:. [)).+(?знак равно

Если, например, вы хотите получить текст: «Приобретено: [имя, которое мне нужно]», используйте следующее выражение:

(?с) Приобретенные.+]

Вы можете узнать больше о регулярных выражениях в MsgExtract по следующей ссылке:

http://docs.maildev.com/article/69-parse-email-data-using-regular-expressions

http://www.maildev.com/msgextract/

(Отказ от ответственности, я автор MsgExtract)

1

Экспортируйте сообщения Gmail в формате MBOX (подсказка: https://support.google.com/accounts/answer/3024195?hl=en) и сохраните их как messages.txt.

Возьмите GNU Awk (gawk.exe) с http://gnuwin32.sourceforge.net/packages/gawk.htm

Сохраните следующее как getnames.awk:

/^Order ID:.*Purchased by:/ {
  sub("^.+ by: ","");
  print;
}

Сохраните следующее как names2csv.awk:

/^Order ID:.*Purchased by:/ {
  sub("^.*Order ID:[^0-9]*","");
  sub("[^0-9]*Purchased by: ",",");
  print;
}

Теперь, когда у вас есть сценарии и сообщения выше, вы получите список имен в виде текстового файла:

gawk -f getnames.awk messages.txt > names.txt 

И это даст вам идентификаторы заказа и имена в виде.Файл CSV, подходящий для открытия в вашей любимой программе для работы с электронными таблицами:

gawk -f names2csv.awk messages.txt > orders.csv

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .