我试图运行以下命令:如何用Anaconda(Python 3)中的Spyder解决这个编码问题?
import json
path = 'ch02/usagov_bitly_data2012-03-16-1331923249.txt'
records = [json.loads(line) for line in open(path)]
,但我得到了以下错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 6987: ordinal not in range(128)
从我发现,它应该是互联网,因为编码需要设置到utf-8,但我的问题是它已经在utf-8中。
sys.getdefaultencoding()
Out[43]: 'utf-8'
此外,它看起来像我的文件是UTF-8,所以我真的很困惑 此外,下面的代码工作:
In [15]: path = 'ch02/usagov_bitly_data2012-03-16-1331923249.txt'
In [16]: open(path).readline()
有没有办法解决这个问题的方法吗?
谢谢!
编辑:
当我跑在我的控制台它工作的代码,而不是当我在Anaconda安装提供Spyder的运行(https://www.continuum.io/downloads)
你知道什么可以去错了?
您是否尝试过使用编码实际打开文件? –
你是什么意思? open(path).readline()效果不错 – Krowar
您必须已经将该文件错误地下载了确定您是否将它下载为 - 不是通过文本编辑器或其他东西复制粘贴的?您的代码在我的系统上运行时没有出现错误,只是从您提供的位置下载完全相同的文件。我在Windows 7和Linux上都尝试过Python 3.5.1。 –