Django で Shift-JIS の CSV を出力

(Comments)

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
Current rating: 4.2

Comments

Recent Tweets

  • ytyng

    ytyng @ytyng

    在宅で仕事してるので古い曲をけっこう聞いてる。久々にコーガニズムオーケストラ聞いたらめっちゃかっこいい。昔対バンして間近で見て強烈に心を持ってかれたことを思い出した。新潟古町のJunkBox。またミクスチャーやりたいわ。
    1 week, 2 days ago

  • ytyng

    ytyng @ytyng

    slack 503
    1 week, 6 days ago

  • ytyng

    ytyng @ytyng

    11:40 頃解消された。
    1 month, 1 week ago