在Python中读取CSV中的UnicodeDecodeError

在Python中读取CSV中的UnicodeDecodeError,python,csv,Python,Csv,我有一个CSV文件,当我试图在Python2.7中读取它时,它会出现以下错误 UnicodeDecodeError: 'ascii' codec can't decode byte 0x8b in position 10: ordinal not in range(128) 这是我到目前为止的代码 with open('train.csv', 'rb') as csvfile: reader = csv.DictReader(csvfile) for row in reader: te

我有一个CSV文件,当我试图在Python2.7中读取它时,它会出现以下错误

UnicodeDecodeError: 'ascii' codec can't decode byte 0x8b in position 10: ordinal not in range(128)
这是我到目前为止的代码

with open('train.csv', 'rb') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
    text=(row['Descript'])
    emotion = (row['Category'])
我在这个网站上找到了很多解决方案,
但他们无法纠正我的错误。有人能帮我吗。

为什么要以二进制模式读取文件?如果我使用“r”而不是“rb”,它也会出现同样的错误。这可能会有帮助:和:python2或python3?如果可能的话,您的一两行输入可能会对想要帮助的人有所帮助。如果您使用
str.encode('utf-8')
使用Python 3编写csv,可能会更容易。如果不可能,无论如何都要使用它。或