1

Gmail のエクスポート形式は MBOX です。Pythonを使用して、日付、件名、送信者、および受信者の4つの列を持つCSVファイルを作成する必要があります。まず、以下のスクリプトを使用して、2 つの列 (日付と件名) だけを取得しています。

mbox_parser.pl として保存された次のスクリプトを使用した私の試みは失敗しました。

import mailbox
import csv

writer = csv.writer(open("clean_mail.csv", "wb"))
for message in mailbox.mbox('your_mbox_name'):
    writer.writerow([message['subject'], message['from'], message['date']])

コマンドライン「python mbox_parser.pl」を使用しました。その後、結果は0バイトのCSVファイルでした。

私のスキルはとても基本的なものです。mboxファイルを解析し、csvに変換するためのgithubスクリプトのスクリプトから始めました

助けていただければ幸いです。

2016 年 4 月 17 日編集:

python3 タグを削除していただきありがとうございます。私は自分の間違いを発見しました。mailbox.mbox のパラメーターには、次のようなパスが必要でした:

for message in mailbox.mbox('c:\temp\\python\inbox.mbox'):

うまくできた。ただし、google.com/takeout で作成された MBOX ファイルを操作しているときに、同じメールが複数の MBOX アーカイブに含まれていることがわかりました。そのため、MBOX ファイルごとに次のスクリプトを使用して一意のメッセージ ID を追加し、別のツールで重複行を削除しました。

import mailbox
import csv

writer = csv.writer(open("inbox.csv", "wb"))
for message in mailbox.mbox('c:\\temp\\python\\inbox.mbox'):
writer.writerow([

            message['Date'],
            message['Subject'],
            message['From'],
            message['To'],
            message['Message-Id']
            ]
                    )

興味を持って助けてくれた皆さんに感謝します。

4

0 に答える 0