【发布时间】:2018-05-31 03:12:07
【问题描述】:
我有一个数据,比如说
data = [
['header_1', 'header_2'],
['row_1_!', 'row_1_2'],
['row_2_1', 'row_2_2'],
]
我需要将该数据作为 .csv 文件附件发送到电子邮件。 我无法将其保存为 .csv,然后附加现有的 csv - 应用程序在 Googpe App Engine 沙盒环境中运行。所以无法保存文件。
据我了解,电子邮件附件由文件名和编码为 base64 的文件组成。
我尝试通过以下方式制作附件正文:
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())
但结果我通过电子邮件收到无效文件 2 列和 3 行,但文件中只有一个字符串(见图)。 csv_screen
我做错了什么?
【问题讨论】: