UnicodeEncodeError:'ascii'编解码器无法对位置126中的字符u'\ u2019'进行编码:序数不在范围内(128)

use*_*322 7 python xml csv encode

好的,我已经阅读了很多类似的问题,我相信我正确地遵循了这些建议,但不知怎的,我的代码仍然无效.

我已经解析了一个xml文件.我在这里读到输出现在是unicode.我正在使用csv编写器将输出写入文件.

因此,在我的代码中,我尝试在使用writerow之前使用utf-8进行编码.为什么我仍然在写作上得到错误?我的警告,"unicode !!!" 在这个错误发生之前不会被抛出(我在多个文件上运行它,它适用于大多数文件).实际上,我不明白为什么作家试图使用ascii,难道不应该期待utf-8吗?我已经在编码函数中用ascii替换了utf-8只是为了踢.结果相同.请帮忙!!!

        try:

           mystring=elem.find('./'+r2+'Description').text


           if isinstance(mystring, unicode):
               print("unicode!!!")
               mystring.encode('utf-8','ignore')
               datalist.append(mystring)
           else:    
               datalist.append(mystring)
        except AttributeError:
           datalist.append('No text')  

        c.writerow(datalist)
Run Code Online (Sandbox Code Playgroud)

DNS*_*DNS 9

当你打电话时mystring.encode(...,它不会就地改变字符串; 它返回一个新字符串.