使用 extract-msg Python 模块将多个 Outlook .MSG files/datapoints 导出到 .CSV

Export multiple Outlook .MSG files/datapoints to .CSV using extract-msg Python module

我是 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})

下面添加一个循环,打开并查看当前目录中的所有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})