UnicodeDecodeError: 'utf-8' codec bayt kodunu çözemiyor
İşte benim kodum,
for line in open('u.item'):
#read each line
bu kodu her çalıştırdığımda aşağıdaki hatayı veriyor:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 2892: invalid continuation byte
Bunu çözmeye çalıştım ve open() işlevine fazladan bir parametre ekledim, kod şöyle görünüyor;
for line in open('u.item', encoding='utf-8'):
#read each line
Ancak yine aynı hatayı veriyor. O zaman ne yapmalıyım! Lütfen yardım edin.
178
3
Mark Ransom tarafından önerildiği gibi, bu sorun için doğru kodlamayı buldum. Kodlama "ISO-8859-1" idi, bu nedenle
open("u.item", encoding="utf-8")
yerineopen('u.item', encoding = "ISO-8859-1")
yazmak sorunu çözecektir.Dosyanız aslında utf-8 kodlu veri içermiyor, başka bir kodlama içeriyor. Bu kodlamanın ne olduğunu bulun ve
open
çağrısında bunu kullanın.Örneğin Windows-1252 kodlamasında
0xe9
,é
karakteri olacaktır.Bunları arayan biri varsa, bu Python 3'te bir CSV dosyasını dönüştürmek için bir örnektir: