CSV文件定义


逗号分隔值(Comma-Separated Values)其文件以纯文本形式存储表格数据,可以被excel直接进行读取

创建CSV文件

  • 使用Python提供的内建库csv
import csv
# 使用open方法必须添加newline参数并且为空字符串
with open('test.csv','w',newline='') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(['a','b','c'])

CSV文件下载

  • 响应Content-Type类型需要设置为text/csv
  • 响应会获得一个额外的Content-Disposition标头,其中包含CSV文件的名称
def make_csv_views(request):
    "创建CSV的CRUD视图"
    response = HttpResponse(content_type='text/csv')
    response['Content-Disposition'] = 'attachment;filename="myuser.csv"'
    
    # 查询usern_info内容
    queryset = Info.objects.all()
    writer = csv.writer(response)
    # 可以先写一行作为标题
    writer.writerow(['id','create_time','username'])

    for i in queryset:
        writer.writerow([i.id,i.Create_time,i.Username])
    return response