UnicodeEncodeError:' ascii'编解码器在写入文件时无法进行编码

时间:2016-08-17 16:46:28

标签: python encoding

我无法弄清楚我的代码提出的原因:

UnicodeEncodeError: 'ascii' codec can't encode character u'\u0161' in position 17: ordinal not in range(128)

一切都可能是unicode,string.decode or encode utf-8也不起作用。

def create_active_orders_xlsx():
    orders = drevo_models.Order.objects.filter(confirmed=True,done=False)
    f = open('example2.csv','w')
    for order in orders:
        f.write(order.get_csv_line()) #.encode('utf-8') tried but the same error
    f.close()

class Order(models.Model):
    ....
    ....
    def get_csv_line(self):
        return u'"'+u'";"'.join([u'{}'.format(x) for x in [self.id,self.first_name,self.last_name,self.psc,
                                             self.city,self.street,self.number,
                                             self.wet_wood,self.dry_wood,self.stelinka,self.briquette,
                                             self.price]]) + u'"'

你知道问题出在哪里吗?

0 个答案:

没有答案