Django で Shift-JIS の CSV を出力

(コメント)

Python 3, Django 1.9

StringIO に ユニコードで書いちゃってから CP932に一気に変換するのがトラブル少なくてわかりやすいかなと思います。

class CSVView(View):
def get(self, request, **kwargs):

response = HttpResponse(content_type='text/csv; charset=Shift-JIS')
response['Content-Disposition'] = \
'attachment; filename=items.csv'
sio = io.StringIO()
writer = csv.writer(sio)
writer.writerow(self.header)
for row in self.get_rows():
writer.writerow(row)
response.write(sio.getvalue().encode('cp932'))
return response
現在未評価

コメント

最近のツイート

  • 小泉しゅうすけ@寒川町議会議員

    小泉しゅうすけ@寒川町議会議員 @KoizumiSamukawa

    ytyng

    漫画歴代発行部数ランキングとか見ると、上位はことごとく犯罪行為が平気で描かれている作品ばかりです。で、これらの漫画を読んで犯罪を起こした人はどの程度居るのでしょうか…ゴルゴ13を読んでスナイパーになった人は果たして存在するのかどう… https://t.co/ndFS6wezxQ
    1 週間, 6 日 前

  • ytyng

    ytyng @ytyng

    MacBookのロゴを隠してるとプロっぽい。小並感だけど。 https://t.co/SRe5T68hHR
    2 週間 前

  • ytyng

    ytyng @ytyng

    初めてnpmにパッケージ上げた
    2 週間, 4 日 前