【问题标题】:UnicodeEncodeError: 'ascii' codec can't encode characterUnicodeEncodeError:“ascii”编解码器无法编码字符
【发布时间】:2015-10-21 17:32:40
【问题描述】:

我正在尝试使用以下函数将 pandas 数据框导出为 csv:

outcome.to_csv("/Users/john/out_1.csv")

我收到以下错误:

UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 191: ordinal not in range(128)

如何去 191 位置检查问题所在?

非常感谢

【问题讨论】:

  • @johnred 它在 DataFrame 中的字符串中的第 191 位。也许你可以把整个堆栈跟踪,DataFrame 本身?
  • 您可以尝试将 encoding='utf-8' 添加到函数中,看看是否有效?例如 output.to_csv("/Users/john/out_1.csv", encoding="utf-8")
  • 如果您打开 ipython 控制台并输入:print u'\u2019',您将看到您正在寻找的字符类型。您可能应该刚开始使用 python3

标签: python-2.7 pandas unicode export-to-csv


【解决方案1】:
    outcome.to_csv("/Users/john/out_1.csv",encoding="utf-8")

在参考 pandas.to_csv 的文档时,我们有以下详细信息。似乎对于 Python 2.7,默认值是“ascii”,需要将其覆盖为“utf-8”

编码:字符串,可选

表示要在输出文件中使用的编码的字符串,默认值 到 Python 2 上的“ascii”和 Python 3 上的“utf-8”。

【讨论】:

    猜你喜欢
    • 2010-12-11
    • 2012-07-02
    • 2010-12-11
    • 2021-09-28
    • 2017-02-01
    • 2016-12-17
    • 2013-04-21
    相关资源
    最近更新 更多