如何打开导出的EML邮件文件并且合并到EXCEL表

一:需求背景

因为工作需要,每每有同类型的通知邮件都会储存在邮箱,然鹅~~一封邮件只有一条信息,正巧遇到 疫情(人类加油!!),一下子堆积了上千个邮件需要提取并且合并,主要是合并后做订单状态查询。 在网上找了很多资料基本都是EMAIL模块的,但是感觉是编码的问题还是怎样的最终没有用上

二:code

import email
import base64
import quopri
import openpyxl
import os



def Traverse(dir):#历遍文件夹文件
	list=[]
	for dirpath,dirnamesList,filenamesList in os.walk(dir):
		for filename in filenamesList:
			list.append(dirpath+"\\"+filename)
		for dirname in dirnamesList:
			list.append(dirpath+"\\"+dirname+"\\")
		pass
	return list;
	pass#历遍文件夹文件
	

list=Traverse(dir)#参数为文件夹位置

# print(list)

def Excel(list):
	wb = openpyxl.Workbook()
	sheet = wb.active
	sheet.title = '邮件正文'
	for i in list:
		# print(i)
		try:
			fp = open(i,"r",encoding='utf-8')
			msg = email.message_from_file(fp)
			s=msg.get_payload(decode=False) # 解码出文本内容,直接输出来就可以了。
			# print(s)
			print ('+'*60) # 用来区别各个部分的输出
			try:
				a = quopri.decodestring(s).decode()
			except :
				a = base64.b64decode(s).decode()
			sheet.append([a])
			print(a)
		except :
			pass
	wb.save('邮件正文.xlsx')


Excel(list)

以上哈哈哈哈~

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值