Исправить текст в конвертере ↓
CSV — простой текстовый файл без указания кодировки внутри. Открывая его двойным щелчком, Excel должен как-то угадать кодировку, и на русской Windows он по умолчанию считает, что файл записан в Windows-1251. Если файл выгружен с сайта, из облачного сервиса или скриптом, он почти наверняка в UTF-8 — и вместо «Ошибка» в ячейке появится Ошибка.
Файл при этом не меняется — меняется только то, как Excel его читает.
Если по файлу и дальше будут щёлкать двойным щелчком, лучше один раз добавить в него метку BOM — три байта в начале, по которым Excel узнаёт UTF-8.
Можно поступить и наоборот: скачать файл в Windows-1251. Excel на русской Windows откроет его без настроек, но символы, которых нет в Windows-1251 (эмодзи, многие иностранные буквы), заменятся на «?».
Если CSV открыли в Excel кракозябрами и сохранили, кракозябры записаны в файл как обычный текст. Такой файл ещё можно спасти: откройте его в конвертере, нажмите «Определить кодировку текста» и скачайте результат. Если вместо букв в нём ромбы или знаки вопроса, исходные данные потеряны — выгрузите файл заново.
df.to_csv('file.csv', encoding='utf-8-sig') или open('file.csv', 'w', encoding='utf-8-sig') — суффикс -sig добавляет BOM."\xEF\xBB\xBF" в начало файла перед первой строкой.