我有一个Excel表格,数量为十万行,文件大小大概300M,每一行分别有下面这些字段
- 邮件名称,[topicA, Re:topicA, Re:Re:topicA],分别表示原始主题为topicA的邮件,回复A邮件的邮件,回复回复A邮件的邮件
- 发件人,john@a.com
- 收件人,derek@b.com
- 邮件文本正文
- 邮件消息标识
- 所有人
- 创建人
- 创建日期
邮件主题为a的关系集合:对于一个主题为a邮件,回复过这封邮件的听一个域名下面的全部不重复邮箱为一个关系集合。 比如发件人a发送是主题为x的邮件给b、c、d,他们的邮箱分别为b@bb.com,c@bb.com,d@dd.com 那么这里面一共有2个关系集合,分别是f(a,x,bb) = [(a,x, b),(a, x c)],f(a,x,dd)=[(a, x, d)] get_domain(b) == get_domain(c) == bb 上面描述的a对应发件人邮箱
帮我从Excel表格中找到所有的关系集合
- 是否可以从每一份邮件的主题中,通过识别“Re”来确定这封邮件和其他邮件的关系
每一个关系集合输出为一个json的一个项 key为a.x.bb value为[(a,x, b),(a, x c)]
"a.x.bb": [(a,x, b),(a, x c)],
- 邮件有中文、英文、日语、德语等八种语言
- Excel中不包含In-Reply-To的信息
- Excel没有转发的邮件
- 不考虑处理主题被修改的情况
- 如果一个人多次回复同一邮件,按一个关系计算
- 遇到异常数据,请把异常数据的邮件消息标识记下,最后输出到名为error.json的文件,输出格式:key是邮件消息标识,value是异常原因
- 如果存在多个邮件主题相同(群发邮件),那么根据发件人不同