読者です 読者をやめる 読者になる 読者になる

割と普通なブログ

Microsoft Azure や ASP.NET、Java EE 系の話題を記載します

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

django

手順

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