【问题标题】:UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 29: ordinal not in range(128)UnicodeEncodeError:'ascii' 编解码器无法在位置 29 编码字符 u'\u2013':序数不在范围内(128)
【发布时间】:2019-07-27 16:03:20
【问题描述】:

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

UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in 位置 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)

【问题讨论】:

    标签: python-3.x


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2011-07-20
      • 2016-08-26
      • 2017-03-29
      • 2011-07-05
      • 2018-07-10
      • 2012-04-14
      • 2016-09-05
      • 2013-02-11
      • 2012-05-06
      相关资源
      最近更新 更多