Django生成csv文件
csv文件定义
逗号分隔值(Comma-Separated Values, CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号) ,其文件以纯文本形式存储表格数据(数字和文本)
说明:可被常见制表工具,如excel等直接进行读取
Python提供了内建库-csν;可直接通过该库操作csv文件
案例如下
import csv
with open('eggscsv,'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
from .models import Book
def make_csv_view(request):
response = HttpResponse(content_type='text/csv')
response [' content-pisposition'] = 'attachment; filename"maybook.csy".
all_book = Book.objects.all()
writer = csv.writer(response)
writer.writerow(['id', 'title'])
for b in all_book:
writer.writerow([b.id, b.titlel).
return response
Comments NOTHING