StackOverflow'da Python'deki Unicode - CSV dönüşümü ile ilgili tüm soruları okudum ve halen kaygılarım var. Her seferinde, bir alma "UnicodeEncodeError: 'ASCII' kodek U 12'de 'Xd1 \' karakterini kodlayamayacağınız: aralıkta olmayan bir sıra (128),"Python: Unicode'ı ASCII'ye CSV dosyası için hatasız dönüştürün.
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])
satır değeri
olduğu(56, u"LIMPIADOR BA\xd1O 1'5 L")
Burada veritabanında \ xd10 değeri ñ, İspanyolca olarak kullanılan bir aksa sahip. İlk önce değeri ascii'de geçerli bir şeye dönüştürmeye çalıştım ama çok fazla zaman kaybettikten sonra sadece bu karakterleri görmezden gelmeye çalışıyorum (sanırım aksanlı sesli harflerle aynı problemi yaşayacağım).
Değeri, ñ ("LIMPIADOR BAÑO 1'5 L") ile birlikte CSV'ye kaydetmek istiyorum, ancak mümkün değilse, en azından kaydetme ("LIMPIADOR BAO 1'5") L ").
Sorunuz nedir? –
Sonunda soruyla güncellendi. – Sergi
Niçin yerel Windows 'ANSI' kod sayfanıza kodlamayı denemiyorsunuz? Windows kullandığınızı tahmin ediyorum çünkü CSV en çok Windows'da kullanılıyor, ancak bu işaretin genişliğiyse lütfen beni görmezden gelin. Bir * NIX İşletim Sisteminde sanırım 8 bitlik ISO kodlamasından biri uygun olurdu, ama ben uzman değilim. –