Open
Close

Как исправить иероглифы в excel. Выбор кодировки текста при открытии и сохранении файлов

У меня есть файл Excel, который имеет некоторые испанские символы(Тильды и т. д.) что мне нужно преобразовать в файл CSV для использования в качестве файла импорта. Однако, когда я сохраняю как CSV, он искажает "специальные" испанские символы, которые не являются символами ASCII. Кажется, что это также происходит с левыми и правыми кавычками и длинными тире, которые, как представляется, исходят от исходного пользователя, создающего файл Excel в Mac.

поскольку CSV - это просто текстовый файл, я уверен, что он может обрабатывать кодировку UTF8, поэтому я предполагая, что это ограничение Excel, но я ищу способ получить из Excel в CSV и сохранить символы, отличные от ASCII.

30 ответов

Примечание: будьте осторожны с конфиденциальными данными с Google листов.

после сохранения в CSV под Excel в командной строке ставим:

Iconv -f cp1250 -t utf-8 file-encoded-cp1250.csv > file-encoded-utf8.csv

(Не забудьте заменить cp1250 вашей кодировкой).

работает быстро и отлично подходит для больших файлов, таких как база данных почтовых кодов, которые не могут быть импортированы в GoogleDocs (предел 400.000 ячеек).

предполагая среду Windows, сохраните и работайте с файлом, как обычно, в Excel, но затем откройте сохраненный файл Excel в Gnome Gnumeric (бесплатно). Сохраните таблицу Gnome Gnumeric как CSV, которая-для меня в любом случае-сохраняет ее как UTF-8 CSV.

простой способ сделать это: скачать open office (), загрузите электронную таблицу и откройте файл excel (.xls или.xlsx). Затем просто сохраните его как текстовый CSV-файл, и откроется окно с просьбой сохранить текущий формат или сохранить как.Формат ODF. выберите "Сохранить текущий формат" и в новом окне выберите вариант, который работает лучше для вас, в соответствии с языком, на котором написан ваш файл. Для испанского языка выберите Западная Европа (Windows-1252/ WinLatin 1) и файл работает только штраф. Если выбрать Unicode (UTF-8), он не будет работать с испанским персонажей.

Я также столкнулся с той же проблемой, но для этого есть простое решение.

  1. откройте файл xlsx в Excel 2016 или выше.
  2. В "Сохранить как" выберите эту опцию: "(CSV UTF-8 (с разделителями запятыми)*.csv)"

Он работает отлично, и создается файл csv, который можно импортировать в любое программное обеспечение. Я импортировал этот csv-файл в свою базу данных SQLITE, и он отлично работает со всеми символами unicode.

Я написал небольшой скрипт Python, который может экспортировать листы в UTF-8.

вам просто нужно предоставить файл Excel в качестве первого параметра, а затем листы, которые вы хотите экспортировать. Если листы не предоставлены, сценарий экспортирует все листы, присутствующие в файле Excel.

#!/usr/bin/env python # export data sheets from xlsx to csv from openpyxl import load_workbook import csv from os import sys reload(sys) sys.setdefaultencoding("utf-8") def get_all_sheets(excel_file): sheets = workbook = load_workbook(excel_file,use_iterators=True,data_only=True) all_worksheets = workbook.get_sheet_names() for worksheet_name in all_worksheets: sheets.append(worksheet_name) return sheets def csv_from_excel(excel_file, sheets): workbook = load_workbook(excel_file,use_iterators=True,data_only=True) for worksheet_name in sheets: print("Export " + worksheet_name + " ...") try: worksheet = workbook.get_sheet_by_name(worksheet_name) except KeyError: print("Could not find " + worksheet_name) sys.exit(1) your_csv_file = open("".join(), "wb") wr = csv.writer(your_csv_file, quoting=csv.QUOTE_ALL) for row in worksheet.iter_rows(): lrow = for cell in row: lrow.append(cell.value) wr.writerow(lrow) print(" ... done") your_csv_file.close() if not 2 <= len(sys.argv) <= 3: print("Call with " + sys.argv + " ") sys.exit(1) else: sheets = if len(sys.argv) == 3: sheets = list(sys.argv.split(",")) else: sheets = get_all_sheets(sys.argv) assert(sheets != None and len(sheets) > 0) csv_from_excel(sys.argv, sheets)

На самом деле, вопрос не столь уж и тривиален, как может показаться на первый взгляд. Формат CSV , как следует из его названия, подразумевает использование в качестве разделителя символ запятой (,) . Однако, многие программы и сервисы допускают использованием и других символов. К таковым можно отнести и MS Excel, особенно если речь идёт о русифицированной его версии. В данной статье я хочу привести решение проблемы с открытием CSV-файла экспорта из Google инструмента для веб-мастеров в MS Excel. Впрочем, тема актуально и для других вариантов.

  • Проблема экспорта поисковых запросов (ПЗ) из Google вебмастер
    • Проблема с кодировкой
    • Разделитель запятая в CSV
    • То, что помогло
  • Подведём итоги

Проблема экспорта ПЗ из Google вебмастер

Многие из нас используют Google инструмент для веб-мастеров только для добавления сайта. Это неправильно, здесь есть масса полезной информации, например список поисковых запросов, по которым пользователи находят и заходят на сайт. Смотрите отчет: Поисковый трафик > Поисковые запросы - предварительно выбрав нужный сайт в списке.

Здесь же есть и экспорта данных в CSV-формате, с возможностью его открытия в Google Таблицы (онлайн аналог Excel) . Ищите кнопку «Загрузить эту таблицу ». К слову, количество отображаемых запросов на странице не влияет на полноту экспортируемых данных.

Проблема в том, что в CSV-файле используется разделитель запятой и кодировка UTF-8. Так что даже в Google Таблицы, вместо кириллицы, вы получите только набор вопросов.

Другими словами, нам нужно изменить кодировку на ANSI. А для открытия файла CSV в Excel заменить и разделитель запятой (,) на символ точки с запятой (;) .

CSV с разделителем запятая в UTF-8

Проблема с кодировкой

Проще всего решить проблему с кодировкой . Для этого вы можете использовать любой текстовый редактор с этой функцией, например Notepad++. Его вы можете скачать бесплатно на официальном сайте: unotepad-plus-plus.org . Далее запускаем редактор и открываем в нём наш CSV-файл, а потом кликаем пункт меню «Кодировки » и меняем на нужную, т.е. пункт «Преобразовать в ANSI ».

У меня на картинке показан обратный процесс: преобразования из ANSI в UTF-8 - но, думаю, вы это и сами заметилии, а принцип тот же.

Разделитель запятая в CSV

Теперь, что касается разделителя запятой . По сути, для Google Таблиц что-то менять не надо. Да и в англоязычной версии MS Excel это может прокатить, проверьте. Тем не менее, если нужна замена, то здесь следует учесть, что просто заменить запятую (,) на символ точки с запятой (;) не получится, т.к. в файле могут быть значения, содержащие этот символ. Они обычно помещены в кавычки. Например:

значение,1,"значение, с запятой",

По идее здесь должна помочь настройка самой операционной системы Windows: Пуск > Панель управления > Язык и региональные стандарты . На вкладке «Форматы» кликаем кнопку «Изменить этот формат… » В открывшемся окне, на вкладке «Числа» замените «Разделитель элементов списка » на нужный, т.е. символ точки с запятой (;) меняем на запятую (,) .

Правда, у меня это не сработало. Да и менять настройки операционной системы, как по мне, дело не благодатное. Тем не менее, я решил указать этот вариант решения проблемы, т.к. на большинстве специализированных форумов ссылаются именно на него.

То, что помогло

Увы, но какой-то дополнительной обработки файлов с расширением.csv в MS Excel я не нашел. Тем не менее, есть возможность обработки, но только в том случае, если сменить расширение файла, например, на.txt . Так что меняем расширение файла и открываем его в Excel.

Появится окно «Мастер текстов (импорт)». Здесь вы можете выбрать формат исходных данных, начальную строку импорта и кодировку файла (нам нужна 1251: Cyrillic) . К слову, почему нужно было менять кодировку, когда её можно выбрать в мастере? Потому, что кодировки UTF-8, по крайней мере у меня, здесь нету. Кликаем кнопку «Далее ».

На следующем шаге мы можем выбрать символ-разделитель, причем несколько. Ставим галочку «запятая » и убираем галочку «знак табуляции ». Здесь же можно выбрать и символ ограничителя строк. Это тот, что используется для значений, в которых присутствуют спецсимволы (двойные кавычки, запятая, точка с запятой, новая строка и т.д.) . Вариант с двойной кавычкой, в моём случае, это то, что надо. Обратите внимание на поле «Образец разбора данных», данные стали таблицей. Кликаем кнопку «Далее ».

На последнем шаге можно указать формат данных столбцов, правда выбор здесь не велик: общий (по умолчанию) , текстовый, дата и пропустить столбец. Последний вариант представляется мне наиболее интересным, т.к. позволяет сразу исключить ненужные столбцы. Просто выберите соответствующий столбец и кликните для него вариант «пропустить столбец ». Кликаем кнопку «Готово ».

Excel сформирует нужную нам таблицу, где мы можем задать нужную ширину столбцов и формат ячеек, но это уже совсем другая история. Отмечу лишь, что есть проблема с распознанием тех же процентов.

Онлайн сервис для нормализации CSV-файлов

Впрочем, все выше изложенные проблемы решает простой онлайн сервис Normalization CSV . Он позволяет менять кодировку и символ разделителя. Правда существует ограничение в 64 000 байтов (сколько это в Кб?) для загружаемого файла, но CSV-файлы обычно весят не очень много, должно хватить. Результат обработки выводится как обычный текстовый файл, его можно сохранить с расширением.csv .

К слову, скрипт преобразовавает значение процентов, например: 95 % - в нужное значение для столбца «проценты» в Excel, т.е. делится на 100 и получаем число с плавающей запяток, например: 0,95 . Если нужны ещё какие-то преобразования: пишите, попробуем доработать.

Ну, а если предложенный онлайн сервис вас не устраивает, вы всегда можете воспользоваться выше приведённой инструкцией.

Подведём итоги

Некоторые онлайн сервисы предоставляют возможность экспорта данных в просто и удобном CSV-формате. Как следует из названия, подразумевает использование в качестве разделителя символ запятой (,) . Однако, многие приложения трактуют этот формат несколько своевольно, что приводит к закономерным проблемам. К тому же сейчас всё более популярна кодировка UTF-8, в то время как Excel или Google Таблицы используют ANSI.

Решить проблему с кодировкой поможет, к примеру, Notepad++, а для того, чтобы разобраться с разделителем, достаточно изменить расширение файла на.txt и воспользоваться мастером текстов в Excel. Впрочем, все эти задачи способен решить бесплатный онлайн сервис Normalization CSV , правда стоит учесть его ограничение на объём загружаемого файла. На этом у меня всё. Спасибо за внимание. Удачи!

в 19:44 Изменить сообщение 16 комментариев

Почему появляются Каракули и иероглифы в Excel? У этой проблемы может быть несколько вариантов, соберу большинство решений в этой статье. Ну и заодно напишу, как добавлять и использовать символы-иероглифы в тексте.

Проблема с кодировкой часто возникает в разных программах. Кто уверен сталкивался с проблемой смены кодировки. Разберем и другие случаи

Если при открытии файла вы видите каракули/иероглифы в Excel, вам может помочь смена кодировки. Пересохраните файл следующим способом:

На вкладке Кодировка выберите Юникод (UTF-8) или Кириллица (Windows)

Пересохраняем файл.

Неверная кодировка при получении данных из внешних источников. Открытие CSV файлов

Если при вставке данных из других файлов или внешних источников получаются каракули/неизвестные символы, тоже рекомендуется уточнить кодировку. Сделать это можно следующим образом:

На ленте управления выберите вкладку Данные, а в разделе Получение внешних данных выберите нужный пункт.

Если вы вставляете обычные данные из файла, т.е. текст или таблицу, выберите Из текста

Укажите файл из которого забираем данные, после выберите формат данных, а главное в разделе Формат файла выберите Юникод (UTF-8).

Что выбрать с разделителем или фиксированной ширины (шаг 1), а так же следующий шаг (шаг 2) подробно описан в этой .

В шаге 3 выбираем «Общий» формат данных.

Открываем не той программой

Так же я рекомендую проверить, какой именно программой вы открываете Excel-файл. Бывает, что книги 2010 формата Excel открываются в Excel 2003 (или более ранние версии) с измененным на иероглифы текстом. Подробнее про форматы Excel .

Точно такая же проблема периодически возникает если открывать сложные Excel-книги с большим набором данных через альтернативные табличные редакторы, такие как LibreOffice.Calc, Apache OpenOffice и другие.

Как добавить символы-иероглифы в тексте?

«С текстом у меня все в порядке, мне нужно вставить иероглиф/символ в Excel» — скажите вы. Чтобы вставить символ перейдите на вкладку Вставка и в разделе Символы выберите Символ.

В таблице символов можно найти почти любой символ

Чтобы добавить его в текст — кликните по нему.

Поделитесь нашей статьей в ваших соцсетях:

Если в таблице вместо нужной информации вы увидели вопросы, иероглифы или другие непонятные знаки, это значит, вам надо разобраться, как поменять кодировку в Excel. Эта функция доступна в самом Microsoft Office. Но избавиться от проблемы можно и другими методами.

Иногда мы получаем непонятные иероглифы

Компьютер воспринимает любую информацию, как набор цифр. Поэтому у каждого печатного знака есть свой код. Он состоит из чисел и букв латинского алфавита. Символы и соответствующие им числа - это и есть кодировка.

У неё есть несколько стандартов. Например, Koi-8, Unicode, Windows-1251, ASCII. И если файл с текстом сохранён, скажем, в Кои-8, в Excel он будет неправильно отображаться в Юникоде. Так как в этих наборах одним и тем же символам приписаны разные коды.

Как поменять кодировку в программе?

Для работы с таблицей , в которой используется стандарт, не заданный по умолчанию в программе, надо изменить кодировку. Существует несколько способов.

При помощи Notepad

Если в Экселе не получается превратить «кракозябры» в нормальный текст, откройте файл в программе «Notepad++». Она распространяется бесплатно. Настройте там отображение символов, а потом продолжайте работать в Excel.

Откройте файл в программе «Notepad++»

  1. Создайте резервную копию документа . Или сохраните информацию из него в какой-нибудь другой таблице.
  2. Запустите Notepad.
  3. Перейдите в Файл - Открыть (File - Open) и укажите путь к таблице. В поле «Тип файла» поставьте «Все типы» («All types»). Или укажите конкретный формат. Таблицы имеют расширения.cvs, .xls, .xltm, xlam, .xlm. В Нотпаде текст отобразится без сетки. В нём ничего не надо редактировать.
  4. Справа внизу в строке состояния будет изображён стандарт, используемый сейчас.
  5. Откройте меню Кодировка (Encoding). Оно находится вверху окна.
  6. Нажмите «Преобразовать в UTF-8» («Convert to UTF-8»). Документ будет конвертирован в нужный формат. Этот стандарт Excel воспринимает нормально и не станет превращать в бессвязный поток странных символов.
  7. Теперь выберите, какие знаки необходимо использовать. В том же меню Encoding наведите выпадающий список. Он там один.
  8. Для русского языка выберите Кириллица - Windows-1251. Если текст, скажем, на арабском или греческом - отметьте соответствующий набор символов. В разных странах используются разные стандарты.
  9. Программа попросит подтвердить действие.
  10. Если это не помогло, попробуйте другие кириллические шрифты.
  11. Сохранять текст надо тоже в экселевском формате.

Откройте файл в utf-8

Через интерфейс программы

Вот как сменить кодировку в Excel, используя встроенные возможности:

  1. Запустите программу . Не надо открывать заполненный документ. Нужен «чистый» лист.
  2. Перейдите во вкладку «Данные» в строке меню.
  3. На панели «Получать внешние данные» нажмите «Из текста».
  4. В списке «Тип файла» (он находится рядом с кнопкой «Отмена») выберите «Все» или «Любые». Так в окне будут отображаться форматы Excel, а не только.txt.
  5. Задайте путь к таблице.
  6. Откроется мастер импорта.
  7. В поле «Формат» можете выбрать желаемый стандарт.
  8. В области «Предварительный просмотр» показано, как будет выглядеть текст с отмеченным набором символов. Можете прокручивать список и искать, какая настройка подходит.
  9. Когда подберёте нужный вариант, нажмите «Готово».

Можно использовать встроенные возможности

Как сохранить файл в определённой кодировке?

Можно сделать так, чтобы в сохранённом вами файле стояла определённая кодировка Excel.

  1. Нажмите на зелёную кнопку «Файл» (в Office 2007 надо кликнуть на логотип слева вверху).
  2. Параметры - Дополнительно.
  3. Прокрутите вниз до раздела «Общие».
  4. Кнопка «Параметры веб-документа».
  5. Вкладка «Кодировка».
  6. В поле «Сохранить документ как» укажите желаемое значение и нажмите «OK».

Ещё можно сделать так:

  1. Нажмите на «Файл» или логотип офиса.
  2. Выберите «Сохранить как…».
  3. Кликните на «Сервис». Там будет тот же самый пункт «Параметры веб-документа».

Как добавить в программы офиса новую кодировку?

Если ни один из стандартов не подошёл для вашего документа , добавьте новые.

  1. Пуск - Панель управления.
  2. «Программы и компоненты» или «Удаление программ».
  3. Нажмите на пункт Office или Excel (в зависимости от того, установлен ли у вас весь пакет продуктов Микрософт Офис или только Эксель).
  4. Кнопка «Изменить». Она над основной рабочей областью.
  5. Поставьте маркер в «Добавить или удалить» и кликните «Продолжить».
  6. Откройте ветку Общие средства - Многоязыковая поддержка.
  7. Нажмите на чёрную стрелочку рядом с нужным стандартом и включите функцию «Запускать на моём компьютере».
  8. Кликните «Продолжить» и дождитесь окончания процесса. Будут добавлены новые наборы.

В Excel можно поменять кодировку, если символы отображаются неправильно. Эта функция доступна в инструментарии программы. Но иногда используется сторонний софт.