Django-26 django生成csv文件
2021-08-02 本文已影响0人
JuliusL
Python提供了内建库 - csv;可直接通过该库操作csv文件
案例如下:
import csv
with open('eggs.csv','w',newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['a','b','c'])
csv文件下载
在网站中,实现下载csv,注意如下:
- 响应Content-Type类型需修改为text/csv。这告诉浏览器该文档是csv文件,而不是HTML文件
- 响应会获得一个额外的Content-Disposition 标头,其中包含csv文件的名称。它将被浏览器用于开启“另存为...”对话框
import csv
from django.http import HttpResponse
def make_csv_view(request):
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment;filename="test.csv"'
all_data = ['a','b','c','d']
writer = csv.writer(response)
writer.writerow(all_data)
return response