UnicodeEncodeError:'ascii'编解码器无法在位置29编码字符u'\ u2013':序数不在range(128)

时间:2019-07-17 17:32:43

标签: python-3.x

当我尝试将解析的数据保存到CSV文件中时,出现以下错误:

  

UnicodeEncodeError:'ascii'编解码器无法在以下位置编码字符u'\ u2013'   位置29:序数不在范围内(128)

我试图在脚本的第一行中使用命令from __future__ import unicode_literals,并使用以下代码将整数和字符串转换为字节字符串:

self.writer.writerow([unicode(s).encode("utf-8") for s in row])
for article in Soup.find_all('article'):
    csv_writer.writerow([unicode(article).encode("utf-8") for article in Soup.find_all('article')])
    csv_writer.writerow([headline,paragraph,yt_link])

错误消息:

csv_writer.writerow([headline,paragraph,yt_link])
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 29: ordinal not in range(128)

1 个答案:

答案 0 :(得分:0)

我尝试在python 3.6中运行该脚本,然后我得到了预期的输出而没有任何问题,之前我曾尝试在python 3.7中运行相同的脚本,当时我遇到了以上错误