【发布时间】:2018-11-15 12:26:05
【问题描述】:
我正在尝试编写一个脚本,将.mbox 文件的每个电子邮件元素转换为.csv 文件。我特别需要以下元素,但如果有一种方法可以“为每个元素编写”,那将是首选:
收件人、发件人、抄送、密件抄送、日期、主题、正文
我在网上找到了一个看起来是我需要的脚本的开始,以及关于电子邮件模块的documentation,但我找不到任何关于如何做的细节
- 确定不同的属性选项(
to、from、cc'd 等) - 如何将它们写为
.csv中的唯一单元格值。
这是我找到的示例代码:
import mailbox
import csv
writer = csv.writer(open("clean_mail_B.csv", "wb"))
for message in mailbox.mbox('Saks.mbox'):
writer.writerow([message['to'], message['from'], message['date']])
【问题讨论】:
-
在您的循环中添加
print(message),然后您将看到哪些项目可用。 -
太棒了。我一直在试图弄清楚如何做这么简单的事情。我是python新手,所以请原谅无知,哈哈。会尽快尝试
-
@MartinEvans - 所以我这样做了,它确实打印了消息,但它非常混乱。它并没有真正列出可用的属性,而是文件的实际内容。不确定这是否是您的想法,但对我来说还是有点陌生。
-
它将以 Python 字典的形式显示所有可用的信息。即它通过将单词(或键)与定义(或值)相关联来工作。只查看哪些键可用,例如
to或from,使用print(message.keys()) -
谢谢@MartinEvans。这很有意义。我会试试看。