Export von MBOX-Betreff und Datum zu CSV mit Python

Das Exportformat für Gmail ist MBOX. Ich brauche eine CSV-Datei mit vier Spalten, Datum, Thema, Absender und Empfänger mit Python. Zuerst verwende ich ein Skript unten, um nur zwei Spalten zu bekommen (Datum und Thema)

Meine Bemühungen waren nicht erfolgreich mit dem folgenden Skript gespeichert als mbox_parser.pl:

import mailbox import csv writer = csv.writer(open("clean_mail.csv", "wb")) for message in mailbox.mbox('your_mbox_name'): writer.writerow([message['subject'], message['from'], message['date']]) 

Ich habe die Kommandozeile "python mbox_parser.pl" benutzt. Anschließend war das Ergebnis eine CSV-Datei mit 0 Bytes.

Meine Fertigkeit ist sehr einfach. Ich begann mit einem Skript aus Github- Skripts, um die Mbox- Datei zu analysieren, in csv umzuwandeln

Ich schätze jede Hilfe gegeben.

4-17-2016 BEARBEITEN:

Vielen Dank für das Entfernen des python3-Tags. Ich habe meinen Fehler entdeckt. Der Parameter für mailbox.mbox benötigte einen Pfad wie folgt:

 for message in mailbox.mbox('c:\temp\\python\inbox.mbox'): 

Gut arbeiten. Allerdings habe ich entdeckt, dass bei der Arbeit für MBOX-Dateien von google.com/takeout erstellt, die gleichen E-Mails in mehreren MBOX-Archiven erschienen. Deshalb habe ich für jede MBOX-Datei das folgende Skript verwendet, um eine eindeutige Message-ID hinzuzufügen und dann die doppelten Zeilen mit einem anderen Tool zu entfernen.

 import mailbox import csv writer = csv.writer(open("inbox.csv", "wb")) for message in mailbox.mbox('c:\\temp\\python\\inbox.mbox'): writer.writerow([ message['Date'], message['Subject'], message['From'], message['To'], message['Message-Id'] ] ) 

Danke an alle für ihr Interesse und Hilfe.

  • Board-Zeichnung Code, um ein Oval zu bewegen
  • Globale Variable in Kivy erstellen
  • Python-Funktion, die eine variable Anzahl von Ausgängen zurückgibt
  • Tastaturunterbrechung im Debug-Modus PyCharm
  • Python-Namen Raum Probleme mit ipython parallel
  • Python: Wie kann ich die ANSI-Escape-Codes auch in Windows bearbeiten?
  • Wie man das Wörterbuch in mehrere Wörterbücher schnell aufteilt
  • Fehler bei der Verwendung von python textblob library tagger
  • Warum kostet meine Klasse so viel Gedächtnis?
  • Python 2.7 BeautifulSoup E-Mail-Scraping stoppt vor Ende der vollständigen Datenbank
  • Python Regex: Wie kann man einen negativen Lookahead mit einem String machen, der nicht sofort startet?
  • Python ist die beste Programmiersprache der Welt.