Файл CSV открывается в Excel в неверной кодировке

При выгрузке данных из Jumper, в файл, в формате CSV данные всегда сохраняются в кодировке UTF-8 (без BOM).
Microsoft Excel не умеет определять кодировку файла CSV и всегда открывает файл в кодировке ANSI (win-1251), поэтому после открытия текст не читабелен.
Как вариант решения, Вы можете переименовать расширение файла .csv в . txt, затем открыть его в Microsoft Excel, Вам будет предложено выбрать кодировку файла, выберите UTF-8.
Так же Вы можете файл в формате CSV открыть любым текстовым редактором, например в Notepad++, ведь CSV это обычный текстовый файл.
Светлана Сибиряк
Копирайтер Elbuz
Сохрани ссылку на эту статью
Как определить, в какой кодировке заливать данные в csv (открытие через excel)
Данные с файла считываются нормально, как и должны быть. Как я понял проблема в кодировке. Как узнать в какой кодировке открывает эти данные excel? Пробовал напрямую перекодировать phrase (посредством str.encode(‘utf-8’)) — все равно заливает мусор. Может быть, я что-то не так делаю?
Отслеживать
48.6k 17 17 золотых знаков 56 56 серебряных знаков 100 100 бронзовых знаков
задан 17 ноя 2016 в 19:09
327 1 1 золотой знак 4 4 серебряных знака 13 13 бронзовых знаков
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
"Data" -> "Get External Data" -> "Import Text File"
Поэтому сохраняйте данные в любой кодировке по вашему выбору. utf-8 поддерживает произвольные Unicode символы, поэтому если у вас нет особых предпочтений, то можно её по умолчанию использовать.
Кодировка результата определяется с помощью encoding параметра для open() :
#!/usr/bin/env python3 import csv with open('pr.csv', 'w', encoding='utf-8', newline='') as file: writer = csv.DictWriter(file, fieldnames=["phrase", "num", "link"]) writer.writeheader() writer.writerows(parsing_data)
Обратите внимание: writerows() , а не writerow() . Также следует newline=» использовать с файлами, передаваемыми в csv модуль (чтобы окончания строк не портились).
Отслеживать
ответ дан 18 ноя 2016 в 21:16
52.3k 11 11 золотых знаков 108 108 серебряных знаков 312 312 бронзовых знаков
Пробовал, но открывая файл в exel — выводит неправильную кодировку. Открывая файл в encoding=’cp1251′ все работает.
20 ноя 2016 в 22:41
@Тимур смысл ответа, что вы вы а не excel задаёте кодировку. То есть данные лежат на диске в какой-то конкретной кодировке (зависит кто эти данные писал—это может быть что угодно). Сам csv файл не содержит указания кодировки явного, поэтому вы должны по другим каналам узнать (спросите того кто пишет эти файлы). При загрузке файла в excel вы явно указываете эту кодировку. Если вы знаете, что файл сохранен в cp1251, тогда вы Excel и говорите, что файл сохранён именно в этой кодировке. Хотя если не указать, то на русской Винде он может эту кодировку по умолчанию использовать—точно не знаю.
Как посмотреть кодировку файла csv
07.09.2023 15:53
Комментарий
дай вам бох здоровья))
07.02.2023 14:41
Комментарий
Не понял, как импортировать из xls.
21.10.2022 11:20
Комментарий
Спасибо, этот метод сработал!
11.07.2022 14:39
Комментарий
ладно, беру слова обратно, если выбрать добыть данные из файла CSV? то они откроются, но этот ответ в вашей статье все таки больше похож на разбивку из текста
Ответ разработчика:
Благодарим за обратную связь.
Как посмотреть кодировку файла csv
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |