将csv文件附加到Django 1.5中的邮件中

时间:2013-05-07 08:47:34

标签: python django csv python-2.7 email-attachments

如何附加我自己创建的csv文件?

我可以用

创建一个csv文件
from django.core.mail import EmailMessage
email = EmailMessage()
email.attach(filename = 'a.csv', mimetype = 'text/csv', content = 'my content')

但我必须写几行。

我用

尝试了很多事情
import csv
writer = csv.writer(response)
writer.writerow(['first cell'])

但是我不能混合这些东西

我可以使用

将csv文件附加到邮件中
email = EmailMessage()
email.encoding = 'utf-8'
email.subject = Subject'
email.body = ''
email.to = ['my_mail@gmail.com',]

myfile = open('test.csv', 'w+')
wr = csv.writer(myfile)
wr.writerow(['test'])

email.attach(filename = 'a.csv', mimetype = 'text/csv', content = myfile.read())
email.send()

但是文件中的内容已损坏,多次设置文件名似乎很奇怪。

1 个答案:

答案 0 :(得分:0)

使用StringIO.StringIO()实例创建类似内存文件的对象,您可以将其写为CSV,然后将内容附加到您的电子邮件中。