使用Python解析电子邮件

时间:2016-11-17 19:41:29

标签: python email parsing

我觉得这是一个简单的问题但是我找不到一个直截了当的答案。

我有一个我需要解析的电子邮件(.eml文件)。此电子邮件在正文中有一个数据表,我需要将其导出到我的数据库。我已经成功地从txt文件电子邮件和附加的PDF文件中解析数据,因此我理解了映射到数据存储位置以及RegularExpressions等概念,但这些eml文件我似乎无法弄清楚。

在我的代码中,我有三个代码块,主要是尝试做同样的事情(其中两个是评论)。我只是试图捕获电子邮件中的任何或所有数据。但是,每个代码块都会产生相同的错误:

TypeError: initial_value must be str or None, not _io.TextIOWrapper

我已经读过这个错误很可能是因为Python期望接收字符串而不是接收字节,反之亦然。所以我通过尝试实施io.StringIOio.BytesIO来跟进这些尝试,但都没有奏效。我希望能够识别并解析电子邮件中的特定数据。

感谢您的帮助,以及提出批评的问题。

我的代码:

import email
#import io
import os
import re

path = 'Z:\\folderwithemlfile'

for filename in os.listdir(path):
file_path = os.path.join(path, filename)
if os.path.isfile(file_path):
    with open(file_path, 'r', encoding="utf-8") as f:

        b = email.message_from_string(f)
        if b.is_multipart():
            for paylod in b.get_payload():
                print(payload.get_payload())
        else:
            print(b.get_payload())


        #b = email.message_from_string(f)
        #bbb = b['from']
        #ccc = b['to']


        #print(f)
        #msg = email.message_from_string(f)
        #msg['from']
        #msg['to']

电子邮件图片: enter image description here

0 个答案:

没有答案