我对Python还是很陌生,我正在尝试将.msg文件中的关键数据点导出到单个.csv中
我遵循了该线程的指导: Parsing outlook .msg files with python
这与使用csv模块结合在一起,使我可以从单个.msg文件导出结果,但是我不知道如何对其进行编程以解析同一文件夹中的所有.msg文件,并且将每个文件的结果插入csv文件的后续行中。
import extract_msg
import csv
f = r'\Email.msg'
msg = extract_msg.Message(f)
msg_sender = msg.sender
msg_date = msg.date
msg_subj = msg.subject
msg_message = msg.body
with open(r'\Email.csv', mode='w') as file:
fieldnames = ['Subject', 'Date', 'Sender']
writer = csv.DictWriter(file, fieldnames=fieldnames)
writer.writeheader()
writer.writerow({'Subject': msg_subj, 'Date': msg_date, 'Sender': msg_sender})
答案 0 :(得分:0)
以下内容添加了一个循环,该循环打开并查看当前目录中的所有msg文件,并输出到单个csv文件
import os
import extract_msg
import csv
with open(r'Email.csv', mode='w') as file:
fieldnames = ['Subject', 'Date', 'Sender']
writer = csv.DictWriter(file, fieldnames=fieldnames)
writer.writeheader()
for f in os.listdir('.'):
if not f.endswith('.msg'):
continue
msg = extract_msg.Message(f)
msg_sender = msg.sender
msg_date = msg.date
msg_subj = msg.subject
msg_message = msg.body
writer.writerow({'Subject': msg_subj, 'Date': msg_date, 'Sender': msg_sender})