如何在App Engine中创建可下载的CSV文件
我在使用Python的Appengine。我想在网页上创建一个链接,用户点击后可以下载一个CSV文件。我该怎么做呢?
我查看了csv模块,但它似乎想要打开服务器上的文件,而Appengine不允许这样做。
我也看了remote_api,但它似乎只适用于通过应用配置进行上传或下载,而且只能从账户拥有者的终端操作。
希望能得到一些帮助,谢谢。
2 个回答
6
把一个 StringIO
对象作为第一个参数传给 csv.writer
;然后在响应中正确设置内容类型和内容处理方式(通常是 "text/csv" 和 "attachment"),最后将 StringIO
作为内容发送出去。
1
我用了这段代码:
self.response.headers['Content-Type'] = 'application/csv'
writer = csv.writer(self.response.out)
writer.writerow(['foo','foo,bar', 'bar'])
把它放在你处理请求的get方法里。当用户请求这个内容时,用户的浏览器会自动下载这个列表的内容。