normalian blog

Let's talk about Microsoft Azure, ASP.NET and Java!

DjangoでCVSデータを生成する方法

手順

djangoを使ってCVSデータを生成することができます。基本的には以下の手順でCVSの生成が可能。

  1. httpレスポンスの MIME-TYPE を 'text/csv' に変更する
  2. Content-Disposition に、ユーザが受け取るCVSデータのファイル名を指定
  3. cvs.writerを生成してデータを書き込む
  4. 返信!

サンプルコード

from django.http import HttpResponse
import csv

def hello_cvs(request):
    res = HttpResponse(mimetype='text/csv')
    res['Content-Disposition'] = 'attachment; filename=somefilename.csv'
    writer = csv.writer(res)
    writer.writerow(['First row', 'Foo', 'Bar', 'Baz'])
    writer.writerow(['Second row', 'A', 'B', 'C', '"Testing"', "Here's a quote"])
    return res