如何将原始电子邮件的内容解析为dataframe对象

2024-06-01 01:19:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用python脚本浏览outlook收件箱,并将带有特定主题的电子邮件正文存储到数据框中。到目前为止,我已经能够访问我的收件箱,搜索我所有的电子邮件,寻找我想要的主题,然后将邮件正文存储到一个列表中。为此,我使用win32.client库和以下代码 '''

import win32com.client
import time
import datetime as dt
from os import path
import pandas as pd
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6) 

messages = inbox.Items
contents = []
for m in messages:
    if 'XXXX XXXXX XXXX' in m.Subject :
        contents.append((m.body))


df = pd.DataFrame(contents)

arr = [a.split("\r\n") for a in contents]

''' 这将产生以下结果:

按美元金额计算的最大风险增加额

CM名称CM在ID风险增加/(减少)净资本ETH Elig的风险增加%%


荷兰银行清算芝加哥有限责任公司xxxx M N 78776523 149.3 12.6 Y
瑞士信贷证券(美国)有限责任公司xxxx C 26806976 2.6 0.3 Y
高盛,;有限责任公司xxxx M N 19121988 15.7 0.0 Y
SG美洲证券有限责任公司xxxx C 12574954 13.2 0.2 Y
罗比尼奥证券有限责任公司xxxx C 11729669 179.7 4.7 N
TD Ameritrade Clearing,Inc.xxxx C 11415323 5.7 0.3 N
杰弗里斯有限责任公司xxxx C 9923448 16.4 0.7 N
富国证券有限责任公司xxxx C 8990763 2.2 0.1 Y
摩根大通证券有限责任公司xxxx F 8838248 0.6 0.0 Y
SG美洲证券有限责任公司xxxx C 8203265 24.8 0.1 Y

最大风险增加(占净资本的百分比)

CM名称CM在ID风险增加/(减少)净资本ETH Elig的风险增加%%


荷兰银行清算芝加哥有限责任公司xxxx M N 78776523 149.3 12.6 Y
罗比尼奥证券有限责任公司xxxx C 11729669 179.7 4.7 N
希尔顿证券有限公司xxxx F 6779534 47.7 2.7 N
菲利普资本有限公司xxxx C 696778 10.8 1.3 Y
StockCross金融服务有限公司xxxx F 207372 40.4 1.1 N
列克证券公司xxxx C 144803 10.8 1.0 N
杰弗里斯有限责任公司xxxx C 9923448 16.4 0.7 N
Wedbush证券公司xxxx F 1009205 15.3 0.5 N
E&D&;F曼恩资本市场公司xxxx C 923893 6.3 0.4 Y
荷兰银行清算芝加哥有限责任公司xxxx M N 2974657 58.7 0.4 Y

按美元金额计算的最大风险减少额

CM名称CMETH Elig净资本的ID风险增加/(减少)风险减少%%


TD Ameritrade Clearing,Inc.xxxx C-58006018-5.9 1.7 N
瑞银证券有限责任公司xxxx C-43626425-9.8 1.0 Y
美林专业清算公司xxxx M N-39163279-6.1 0.5 Y
国家金融服务有限责任公司xxxx C-35518333-3.0 0.7 Y
荷兰银行清算芝加哥有限责任公司xxxx M N-33584651-27.0 5.3 Y
E*TRADE Securities LLC xxxx C-28706087-6.8 2.1 N
TD Prime Services LLC xxxx F-2836239-6.9 3.7 Y
施瓦布;有限公司xxxx C-24738164-3.2 0.7 N
摩根大通证券有限责任公司xxxx C-16521434-2.40.0 Y
互动经纪有限责任公司xxxx C-15815411-4.0 0.3 Y

arr对象被解释为列表列表。arr中的每个列表包含64个元素。理想情况下,我希望能够将这些原始电子邮件消息转换为可以执行分析的对象,但我不知道如何解析我的列表列表,以便数据可以按照电子邮件中显示的顺序读入数据帧

非常感谢您的帮助


Tags: 数据inimportclient列表电子邮件contentscm