我一直在StackOverflow上阅读有关Python中将Unicode转换为CSV的所有问题,但仍然感到困惑。每次我收到“UnicodeEncodeError:'ascii'编解码器无法在位置12处对字符u'\xd1'进行编码:序数不在范围内(128)”的错误提示。
buffer=cStringIO.StringIO()
writer=csv.writer(buffer, csv.excel)
cr.execute(query, query_param)
while (1):
row = cr.fetchone()
writer.writerow([s.encode('ascii','ignore') for s in row])
row的值为:
(56, u"LIMPIADOR BA\xd1O 1'5 L")
在数据库中,\xd10的值是ñ,这是西班牙语中使用的带变音符号的字母n。起初我尝试将该值转换为ASCII码中有效的内容,但是花费了很多时间后,我只尝试忽略这些字符(我认为带重音的元音字母也会有同样的问题)。
我希望能够保存带有ñ(“LIMPIADOR BAÑO 1'5 L”)的值到CSV文件中,如果不可能,至少能够保存它(“LIMPIADOR BAO 1'5 L”)。