好的,我已经阅读了很多类似的问题,我相信我正确地遵循了这些建议,但不知怎的,我的代码仍无效。
我已经解析了一个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)
答案 0 :(得分:9)
当您致电mystring.encode(...
时,它不会就地更改字符串;它返回一个新字符串。