如何在App Engine中创建可下载的CSV文件

2 投票
2 回答
1511 浏览
提问于 2025-04-16 21:56

我在使用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方法里。当用户请求这个内容时,用户的浏览器会自动下载这个列表的内容。

来源于:在Google App Engine上在线生成CSV文件

撰写回答