My Tech Life

Memo by a Japanese Software Developer in his late 50s.

pythonでmboxを読む

物忘れが多く、今後の備忘録を書くためにブログを開設。

 

ここ10年ぐらいのメールがGmailにたまっている。

ほとんど広告やニュースレターだが、これだけたくさん溜まっていると、

時代ごとに何か面白い傾向でも見つかるかと、Pythonで分析したく思った。

 

Gmailからは.mbox形式でメールを一括エクスポート可能。

3.6GB程度のデータをゲット。

 

そして、ChatGPTから、以下、典型的なサンプルをもらう。

最初に全体を読み込んでいるようで、コマンド実行直後が時間がかかる。

 

import mailbox

# MBOXファイルのパスを指定してMBOXオブジェクトを作成
mbox = mailbox.mbox('example.mbox')

# MBOX内のメッセージを反復処理
for message in mbox:
    print("Subject:", message['subject'])
    print("From:", message['from'])
    print("To:", message['to'])
    print("Date:", message['date'])
    print("Body:", message.get_payload())  # メッセージの本文を取得
    print("\n")

# MBOXファイルを閉じる
mbox.close()

 

私のイメージとしては、.mboxをファイルとしてオープンして、

メールごとにリードしたい。

いろいろと調べたが、それは面倒らしい。

 

仕方なく、小さな数百MB程度の.mboxファイルを作成し、

それでプロトタイプを作成していくことにした。