Я анализирую фрейм данных, содержащий французские символы.
Я установил ядро I Python на основе Python3 в моем блокноте Jupyter, поэтому кодировка по умолчанию должна be utf-8.
Однако я больше не могу сохранить свой блокнот, как только в моем .ipynb появляется символ с акцентом (например, é, è ...), даже если те обрабатываются в UTF-8. Сообщение об ошибке, которое я получаю при попытке сохранить, таково:
Неожиданная ошибка при сохранении файла: код 'ascii' видео.ipynb c не может кодировать символы в позиции 347-348 : порядковый номер не в диапазоне (128)
Вот некоторый минимальный код, который выдает мне то же сообщение об ошибке в базовом c Python3 ядре
import pandas as pd
d = {'EN': ['Hey', 'Wassup'], 'FR': ['Hé', 'ça va']}
df = pd.DataFrame(data=d)
(на самом деле простая ячейка с текстом «é» уже мешает мне сохранить)
Я видел похожие вопросы, но все они были основаны на Python 2.7, поэтому ничего не значило. Я также попробовал несколько вещей, чтобы исправить это:
Включая # coding: utf-8
в верхней части моего ноутбука
Указание utf-8 кодировка при чтении файла csv
Попытка чтения файла с кодировкой latin-1 с последующим сохранением (все еще не поддерживается кодом ascii c)
Также проверил мою кодировку по умолчанию в python3, просто чтобы убедиться, что
sys.getdefaultencoding()
'utf-8'
Открыл .ipynb в Notepad ++: кодировка установлена на UTF-8 там. Я могу добавить акцентированные символы и сохранить там, но затем больше не могу открыть блокнот в jupyter (я получаю сообщение «неизвестная ошибка»).
Проблема связана с сохранением блокнота и не читая файл, поэтому в основном я хочу переключиться на кодировку utf-8 для сохранения своих файлов .ipynb, но не знаю, где.
Я подозреваю, что проблема может быть связана с тем, что я использую WSL на Windows10 - просто интуитивное чувство.
Большое спасибо за вашу помощь!