Доброго времени суток.
Python3.6
Столкнулся с проблемой записи строк в csv в кодировке cp1251.
def create_item_order_info(self):
from io import StringIO
file = StringIO()
writer = csv.writer(file,delimiter=';')
fields = ['Но. чека',
'Но. заказа',
'Но. позиции',
'Но. Карты лояльности',
'Цена',
'Количество',
'Сумма',
'Стоимость доставки',
'Итог',
'Дата заказа',
'Дата доставки',
'Статус',
'Комисс. товар',
'Накладная Но']
writer.writerow([field for field in fields])
for item in self.queryset:
writer.writerow( ['',
int( item.order.order_number ),
int( item.product.vendor_id ),
'',
int( item.product.stock_price ),
int( item.product_amount ),
int( item.product.stock_price * item.product_amount ),
'0',
int( item.product.stock_price * item.product_amount ),
item.order.created.date().strftime( '%d.%m.%Y' ),
item.order.created.date().strftime( '%d.%m.%Y' ),
'Возврат',
'Да',
''] )
response = HttpResponse(file.getvalue(), content_type='text/csv' )
response['Content-Disposition'] = 'attachment; filename="return_info.csv"'
return response
На выходе я получаю csv в utf8.
Каким образом можно получить данный файл в кодировке cp1251?
(система, куда передается файл, требует именно cp1251)
Заранее благодарю.