How to convert mbox into csv format using python?

497 Views Asked by At

I am writing to convert email Mbox format into CSV using Python 3

import mailbox
import csv
writer = csv.writer(open(r"...\clean_mail.csv", "w"))
for message in mailbox.mbox(r'...\Inbox-001.mbox'):
    if message.is_multipart():
        content = ''.join(part.get_payload() for part in message.get_payload())
    else:
        content = message.get_payload()
    writer.writerow([message['subject'],message['from'], message['date'], content])

This is the error I am getting.

TypeError                                 Traceback (most recent call last)
<ipython-input-10-b7e7d65c9723> in <module>
      4 for message in mailbox.mbox(r'C:\Users\nikip\Documents\2021\Interview Preparation\sentiment analysis\Inbox-001.mbox'):
      5     if message.is_multipart():
----> 6         content = ''.join(part.get_payload() for part in message.get_payload())
      7     else:
      8         content = message.get_payload()

TypeError: sequence item 0: expected str instance, list found

I really appreciate any help you can provide.

0

There are 0 best solutions below