Gmail的导出格式为MBOX。我需要创建一个包含四列的CSV文件,日期,主题,发件人和&收件人使用python。首先,我使用下面的脚本来获得两列(日期和主题)
使用以下脚本保存为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 scripts to parse mbox file, convert to csv
开始编写脚本我感谢任何帮助。
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']
]
)
感谢大家的关心和帮助。