我收到UnicodeDecodeError:'utf8'编解码器无法解码字节...无效的起始字节。
我怀疑它与我字典中的一个值有关。要访问所有字段并将它们放入dict中,我使用:
mydictionary = {x:y for x,y in zip(column, values)}
我可以更改哪些内容,以便我可以保证将值转换为符合utf8的某种方式或避免此错误?
列包含所有列标题...值包含一个元组,其中包含与列
对应的所有值即。 column =('NAME',HOBBY') values =('George','Basketball')
我遇到的问题是在价值观的某个地方,有些事情会发生在: values =('-insert strange utf8 noncompliant character-George','Basketball')
答案 0 :(得分:0)
如果您不关心错误值的确切内容,您可以简单地告诉UTF-8编解码器忽略错误,
import codecs
codec = codecs.lookup('utf-8')
mydictionary = {codec.decode(x, 'ignore'): codec.decode(y, 'ignore') for x,y in zip(column, values)}
或者,将'ignore'
替换为'replace'
将导致编解码器用Unicode“替换字符”代码点(U + FFFD)替换任何错误的字符。如果你只关心values
中错误的字符串,你可以明显省略密钥上的解码调用。