UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 19: ordinal not in range(128)

解决方案:

1:

  1. 在网上找到的解决方案是:
  2. 在调用import matplotlib.pyplot as plt前
  3. import sys
  4. sys.setdefaultencoding(“gbk”)
  5. 让编码改成gbk(这个方案可以解决)

这个方法并不能解决根源问题,在调试时仍会出现错误

2:

其实真正出现这种问题的原因在于路径的问题,代码(.py)文件路径中出现了中文,导致编码出现问题,而matplotlib在使用pyplot时只能解析utf-8因此会出现'ascii' codec can't decode byte 0xb0 in position 18: ordinal not in range(128)

    1. 解决方案:
    2. (1)将文件所在的所在路径改成英文,不要使用中文
    3. (2)import os
              os.chdir(r'D:skleran包学习'.decode("utf-8"))
    4. 直接将路径改成utf-8编码

这样,就ok了

原文地址:https://www.cnblogs.com/zhibei/p/9591640.html