Почему CSV открывается с иероглифами, в одном столбце и без нулей
В CSV лежит только текст: значения через запятую или точку с запятой. Как их читать, файл не сообщает, и Excel определяет кодировку, разделитель и формат столбцов сам. Microsoft пишет, что при открытии CSV формат каждого столбца определяется по параметрам форматирования, установленным по умолчанию; если нужны другие, используют мастер импорта текста. Типичные поломки:
| Что вы видите | Причина | Что делать |
|---|---|---|
| Иероглифы или знаки вроде «РџСЂРёРІРµС‚» вместо русских букв | Файл записан в одной кодировке, а прочитан в другой | Выбрать кодировку в списке «Источник файла» |
| Вся строка в первом столбце | Знак-разделитель в файле не совпал с тем, что ждал Excel | Выбрать разделитель в предварительном просмотре |
| Пропали нули в начале артикула, ИНН, номера договора | Столбец прочитан как число | Загрузить столбец как текст |
| Длинный номер обрезан | Excel хранит число с точностью до 15 цифр | Загрузить столбец как текст |
| Число или дата выглядят иначе, чем в файле | Формат столбца Excel определил сам | Задать тип столбца при импорте |
Нули и цифры, потерянные при открытии и сохранении, из сохранённого файла не вернуть. Исходный CSV не перезаписывайте: его можно импортировать заново с нужными настройками.
Как открыть CSV в Excel правильно: шесть шагов
Откройте новую пустую книгу и не открывайте CSV двойным щелчком. Дальше по справке Microsoft:
- Выберите ячейку, куда нужно поместить данные.
- На вкладке «Данные» в группе «Получение и преобразование данных» нажмите «Из текстового/CSV-файла».
- Найдите файл, дважды щёлкните его и нажмите «Импорт».
- В окне предварительного просмотра в списке «Источник файла» выбирайте кодировку, пока текст не станет читаемым.
- В списке «Разделитель» выберите знак, пока столбцы не разойдутся правильно.
- Нажмите «Загрузить», чтобы данные сразу попали на новый лист, «Загрузить в» для выбора места или «Преобразовать данные», чтобы сначала поправить столбцы в Power Query.
CSV в Excel в виде таблицы
Кнопка «Загрузить в» предлагает загрузить данные как таблицу, как сводную таблицу, на существующий или новый лист либо только как подключение. Выберите таблицу, и CSV окажется в книге в виде таблицы Excel.
Если файл уже открылся в одном столбце
Заново импортировать файл необязательно: выделите столбец с данными, на вкладке «Данные» нажмите «Текст по столбцам», выберите вариант с разделителями, затем знак-разделитель и «Готово». Если знак подобрать не удаётся, вернитесь к импорту и выберите разделитель в окне предварительного просмотра.
Разделители CSV в Excel: запятая, точка с запятой, табуляция
Разделитель — знак, которым в файле отделены значения соседних столбцов. В списке «Разделитель» окна импорта Power Query предлагает двоеточие, запятую, знак равенства, точку с запятой, пробел и табуляцию; можно задать собственную строку или разбить текст по фиксированной ширине. Если нужного знака в списке нет, выберите вариант с настраиваемым разделителем.
Когда числа записаны с десятичной запятой, запятая не годится для разделения полей, и в файле стоит точка с запятой. Поэтому один и тот же CSV из разных программ может открыться то нормально, то в один столбец. Выбор в окне импорта действует на этот файл и не меняет настроек компьютера.
При сохранении в .csv разделителем по умолчанию служит запятая; Microsoft указывает, что её меняют в региональных параметрах Windows, в поле «Разделитель списков», и что это затрагивает все программы. Чтобы не трогать систему, в параметрах Excel на вкладке «Дополнительно» снимают флажок «Используйте системные разделители», задают десятичным разделителем запятую, а разделителем групп разрядов точку. По справке Microsoft, после этого Excel использует точку с запятой как разделитель списка.
Кодировка CSV в Excel: UTF-8, Windows-1251 и BOM
Кодировка определяет, каким набором байтов записана каждая буква. В выгрузках с кириллицей встречаются UTF-8 и Windows-1251; в списке кодовых страниц Microsoft первая обозначена номером 65001, вторая — 1251 и описана как ANSI Cyrillic. Там же есть 866 (OEM Russian, DOS) и 20866 (KOI8-R).
Нужная кодировка выбирается в списке «Источник файла». Угадывается она не всегда: по документации Power Query набор символов автоматически не определяется, а UTF-8 распознаётся, только если файл начинается с метки BOM. Microsoft добавляет, что UTF-8 CSV открывается нормально, когда он записан с BOM, а без неё его нужно открывать через «Данные → Из текстового/CSV-файла».
Иероглифы вместо текста: что делать
Если в списке «Источник файла» стоит неподходящее значение, попробуйте по очереди UTF-8 и Windows-1251 (в справочнике Microsoft она названа Cyrillic (Windows)). Подходит тот вариант, при котором в предварительном просмотре видны русские слова. В справочнике Microsoft по кодовым страницам сказано, что страницы ANSI на разных компьютерах могут отличаться, и это ведёт к порче данных; приложениям рекомендуют Юникод, например UTF-8.
Устаревший «Мастер импорта текста» тоже работает: его включают в параметрах Excel, в разделе «Показать мастера импорта устаревших данных», после чего он доступен в списке «Мастера получения данных» как «Из текста (прежних версий)». На первом шаге в поле «Происхождение файла» задают кодировку, на втором — разделитель.
Нули в артикулах, длинные номера и ИНН
Чтобы сохранить нули, задайте столбцу тип «Текст» при импорте. Excel по умолчанию читает цифры как числа, а у числа нули в начале не хранятся.
Есть три способа задать текстовый тип:
- в окне предварительного просмотра отключить определение типов данных: по документации Power Query в этом случае все столбцы загружаются как текст;
- нажать «Преобразовать данные» и в Power Query выбрать для нужных столбцов тип «Текст»;
- в мастере импорта текста на третьем шаге выбрать для столбца формат данных «Текст».
Это касается артикулов, ИНН и КПП, которые могут начинаться с нуля, номеров договоров и счетов. У числа длиннее 15 цифр дело ещё серьёзнее: Microsoft указывает, что Excel представляет числа с точностью до 15 цифр, поэтому 20-значный номер счёта можно сохранить только как текст.
Файл длиннее миллиона строк
На лист Excel помещается не больше 1 048 576 строк и 16 384 столбцов, и тот же предел Microsoft называет для импорта и экспорта CSV. Содержимое ячейки не длиннее 32 767 знаков.
Всё, что больше этого предела, на листе не поместится, поэтому сверяйте число строк в загруженных данных с числом строк в исходном файле. Большой CSV делят на части и работают с ними по отдельности либо обрабатывают вне Excel. Агент может разделить большой файл на части или посчитать итоги скриптом и положить в xlsx только их; какой размер файла примет чат, проверьте на своём файле, число здесь не называется.
Когда отдать CSV агенту
Агент Allokai нужен, когда ручной импорт долог или ненадёжен: файлов много, кодировка неизвестна, в выгрузке есть длинные номера. Загрузите файлы в чат, назовите столбцы, которые должны остаться текстом, и опишите нужный результат.
Агент читает файлы скриптом на своей Linux-машине, подбирает кодировку, сводит несколько CSV в один и записывает настоящий файл xlsx. Перед отдачей он смотрит, как выглядит файл, и может запустить независимую проверку по исходным файлам, например сверить число строк. Формулы он ставит и проверяет. Попросите приложить список того, что менялось: кодировки, типы столбцов, строки, которые не удалось прочитать.
Объединение файлов с разными шапками разобрано на странице объединить Excel-файлы в один, а таблицы из PDF — на странице таблица из PDF в Excel.
Excel в CSV в UTF-8: обратное направление
Выгрузить таблицу в CSV в UTF-8 можно из Excel: «Файл → Сохранить как» и в списке «Сохранить как тип» выберите «CSV UTF-8 (с разделителями-запятыми)». Название пункта в разных версиях и языках интерфейса может отличаться.
Учтите три вещи, о которых пишет Microsoft:
- при сохранении в текстовые форматы, включая CSV, записывается только текущий лист;
- в текстовом формате пропадает всё форматирование;
- при сохранении в .csv разделителем по умолчанию служит запятая; меняют его в региональных параметрах Windows, в поле «Разделитель списков», а это затронет все программы на компьютере.
Для загрузки на маркетплейс или в CRM сверьтесь с требованиями площадки: кодировку и разделитель называет она. Агент может подготовить такой CSV на своей машине, если вы укажете кодировку, разделитель и порядок столбцов. Подробнее о работе с таблицами — на странице таблицы и Excel с помощью нейросети.
Чего агент не делает и когда хватит самого Excel
Агент — один из способов решить задачу. У агента нет управления вашим компьютером: настройки Excel на нём он не меняет и макросы в вашем Excel не запускает. Он отдаёт готовый файл xlsx, который вы открываете сами. Файл придётся загрузить в чат.
Безнадёжно повреждённый файл агент не восстановит; максимум он прочитает то, что читается, и скажет, какие строки потерялись. Для одного небольшого файла достаточно импортировать его самому по шагам выше: Excel справится без чата.