ich eine Daten haben, sagen wir mal,Daten senden als CSV-E-Mail attachmet Python
data = [
['header_1', 'header_2'],
['row_1_!', 'row_1_2'],
['row_2_1', 'row_2_2'],
]
Ich brauche diese Daten als CSV-Datei-Anhang senden Nachricht an eine E-Mail. Ich kann es nicht speichern als .csv und dann anhängen vorhandenen CSV - Anwendung arbeitet in Googpe App Engine Sandbox-Umgebung. So können keine Dateien gespeichert werden.
Wie ich verstehe, besteht E-Mail-Anhang aus Dateiname und Datei codiert als base64.
Ich versuchte Befestigungskörper in der folgenden Art und Weise zu machen:
import csv
if sys.version_info >= (3, 0):
from io import StringIO
else:
from StringIO import StringIO
in_memory_data = StringIO()
csv.writer(inmemory_data).writerows(data)
encoded = base64.b64encode(inmemory_data.getvalue())
Aber in Folge hat ich erhalten per E-Mail nicht gültige Datei 2 Spalten und 3 Zeilen, aber nur eine Zeichenfolge in der Datei (siehe Bild) . csv_screen
Was mache ich falsch?