Signup/Sign In
Ask Question
Not satisfied by the Answer? Still looking for a better solution?

“for line in…” results in UnicodeDecodeError: 'utf-8' codec can't decode byte

Here is my code,

for line in open('u.item'):
# Read each line


Whenever I run this code it gives the subsequent error:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 2892: invalid continuation byte

I tried to unravel this and add an additional parameter in open(). The code looks like:

for line in open('u.item', encoding='utf-8'):
# Read each line


But again it gives an equivalent error. What should I do then?
by

2 Answers

akshay1995
The following also worked for me. ISO 8859-1 is going to save a lot, hahaha - mainly if using Speech Recognition APIs.

Example:

file = open('../Resources/' + filename, 'r', encoding="ISO-8859-1");
sandhya6gczb
The encoding was "ISO-8859-1", so replacing open("u.item", encoding="utf-8") with open('u.item', encoding = "ISO-8859-1") will solve the problem.

Login / Signup to Answer the Question.