Gmail 的导出格式是 MBOX。我需要使用 python 创建一个包含四列、日期、主题、发件人和收件人的 CSV 文件。首先,我使用下面的脚本来获取两列(日期和主题)
使用保存为 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 文件。
我的技能非常基础。我从 github脚本开始解析 mbox 文件,转换为 csv
我感谢提供的任何帮助。
2016 年 4 月 17 日编辑:
感谢您删除 python3 标签。我发现了我的错误。mail.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']
]
)
感谢大家的关心和帮助。