为什么我的 Jupyter Notebook 即使在 Python3 上也使用 ascii 编解码器?
Why is my Jupyter Notebook using ascii codec even on Python3?
我正在分析一个包含法语字符的数据框。
我在我的jupyter笔记本中设置了一个基于Python3的IPython内核,所以默认编码应该是utf- 8.
但是,一旦重音字符出现在我的 .ipynb 中(如 é、è...),我就无法再保存我的笔记本,即使这些字符是在 utf-8 中处理的。
我在尝试保存时收到的错误消息是这样的:
Unexpected error while saving file: Videos.ipynb 'ascii' codec can't encode characters in position 347-348: ordinal not in range(128)
这是一些最小的代码,在基本 Python3 内核中给出了相同的错误消息
import pandas as pd
d = {'EN': ['Hey', 'Wassup'], 'FR': ['Hé', 'ça va']}
df = pd.DataFrame(data=d)
(实际上是一个带有“é”的简单单元格作为文本确实阻止了我保存)
我见过类似的问题,但它们都是基于 Python 2.7,所以没有任何相关性。为了解决这个问题,我还尝试了几种方法:
包括 # coding: utf-8
在我笔记本的顶部
读取csv文件时指定utf-8编码
尝试读取latin-1编码的文件然后保存(还是不行
由 ascii 编解码器支持)
还在python3中检查了我的默认编码,只是为了确保
sys.getdefaultencoding()
'utf-8'
在 Notepad++ 中打开 .ipynb :其中的编码设置为 utf-8。我可以添加重音字符并保存在那里,但之后无法再在 jupyter 中打开笔记本(我收到 "unknown error" 消息”)。
问题来自保存笔记本而不是读取文件,所以基本上我想切换到 utf-8 编码来保存我的 .ipynb 文件,但不知道在哪里。
我怀疑这个问题可能是因为我在 Windows10 上使用 WSL - 虽然只是一种直觉。
非常感谢您的帮助!
好吧,事实证明卸载然后重新安装 jupyter notebook 成功了。不确定发生了什么,但现在已经解决了。
我正在分析一个包含法语字符的数据框。
我在我的jupyter笔记本中设置了一个基于Python3的IPython内核,所以默认编码应该是utf- 8.
但是,一旦重音字符出现在我的 .ipynb 中(如 é、è...),我就无法再保存我的笔记本,即使这些字符是在 utf-8 中处理的。 我在尝试保存时收到的错误消息是这样的:
Unexpected error while saving file: Videos.ipynb 'ascii' codec can't encode characters in position 347-348: ordinal not in range(128)
这是一些最小的代码,在基本 Python3 内核中给出了相同的错误消息
import pandas as pd
d = {'EN': ['Hey', 'Wassup'], 'FR': ['Hé', 'ça va']}
df = pd.DataFrame(data=d)
(实际上是一个带有“é”的简单单元格作为文本确实阻止了我保存)
我见过类似的问题,但它们都是基于 Python 2.7,所以没有任何相关性。为了解决这个问题,我还尝试了几种方法:
包括
# coding: utf-8
在我笔记本的顶部读取csv文件时指定utf-8编码
尝试读取latin-1编码的文件然后保存(还是不行 由 ascii 编解码器支持)
还在python3中检查了我的默认编码,只是为了确保
sys.getdefaultencoding() 'utf-8'
在 Notepad++ 中打开 .ipynb :其中的编码设置为 utf-8。我可以添加重音字符并保存在那里,但之后无法再在 jupyter 中打开笔记本(我收到 "unknown error" 消息”)。
问题来自保存笔记本而不是读取文件,所以基本上我想切换到 utf-8 编码来保存我的 .ipynb 文件,但不知道在哪里。
我怀疑这个问题可能是因为我在 Windows10 上使用 WSL - 虽然只是一种直觉。
非常感谢您的帮助!
好吧,事实证明卸载然后重新安装 jupyter notebook 成功了。不确定发生了什么,但现在已经解决了。