在python中如何将dict值转换为与奇怪字符兼容?

在python中如何将dict值转换为与奇怪字符兼容?,python,Python,我收到一个UnicodeDecoder错误:“utf8”编解码器无法解码字节。。。无效的起始字节 我怀疑这与我字典中的一个值有关。要访问所有字段并将其放入dict,我使用: mydictionary = {x:y for x,y in zip(column, values)} 我可以做些什么更改,以保证这些值可以转换为符合utf8的某种方式,或者避免此错误 列包含所有列标题。。。值包含一个元组,其中包含与列对应的所有值 i、 e。 列=('NAME',HOBBY') 值=(‘乔

我收到一个UnicodeDecoder错误:“utf8”编解码器无法解码字节。。。无效的起始字节

我怀疑这与我字典中的一个值有关。要访问所有字段并将其放入dict,我使用:

        mydictionary = {x:y for x,y in zip(column, values)}
我可以做些什么更改,以保证这些值可以转换为符合utf8的某种方式,或者避免此错误

列包含所有列标题。。。值包含一个元组,其中包含与列对应的所有值

i、 e。 列=('NAME',HOBBY') 值=(‘乔治’、‘篮球’)

我面临的问题是,在价值观的某个方面,存在着如下情况:
values=('-插入奇怪的utf8不符合字符George','Basketball')

如果您不关心错误值的确切内容,只需告诉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)替换任何格式错误的字符。如果您只关心
值中格式不正确的字符串
,您可以忽略键上的解码调用。

列和
包含什么?发布实际导致错误的代码。或导致问题的实际字符串…我的问题是我的dict非常大,很多列,很多值,我不知道到底哪个值有问题,但我只是想确保我不会因为使所有值都符合utf8而出错。