Перейти к инструменту
ViewCSV
Без загрузки на сервер

Как импортировать CSV-файл в Excel и не испортить данные

Не открывайте файл двойным щелчком. В Excel выберите Данные > Из текстового/CSV-файла, укажите файл, в окне предпросмотра проверьте кодировку (Источник файла) и Разделитель, затем нажмите Преобразовать данные. В Power Query удалите автоматический шаг Измененный тип, задайте столбцам с кодами, артикулами и телефонами тип «Текст», числовым столбцам — их типы и нажмите Закрыть и загрузить. Чтобы обойтись совсем без настроек импорта, сначала преобразуйте CSV в XLSX с текстовыми ячейками.

Проверьте файл перед импортом

Импорт пройдёт гладко, если заранее известны три вещи: какой символ разделяет столбцы, в какой кодировке сохранён текст и в каких столбцах идентификаторы, а не количества. Просмотр CSV и Проверка CSV показывают всё это, ничего не меняя в файле.

РазделительВ выгрузках из англоязычных систем обычно запятая. В России и многих странах Европы чаще точка с запятой, потому что запятая там — десятичный разделитель. Встречаются также табуляция и вертикальная черта.
КодировкаБольшинство современных выгрузок — в UTF-8. Старые программы для Windows, например учётные системы, часто сохраняют Windows-1251. При неверном выборе кириллица превращается в «кракозябры», а вместо é появляется é.
Строка заголовковУбедитесь, что в первой строке названия столбцов и над ней нет заголовка отчёта или пустой строки.
Столбцы, которые нужно защититьОтметьте все столбцы с идентификаторами, кодами, артикулами, телефонами, почтовыми индексами, ИНН или значениями длиннее 15 цифр, например номерами счетов. Им нужен тип «Текст».

Импорт через «Из текстового/CSV-файла» (Power Query)

Это стандартный способ импорта в актуальном Excel для Microsoft 365 и свежих версиях Excel для Windows; в версиях Excel для Mac с Power Query всё устроено похоже. Названия пунктов меню в разных версиях могут немного отличаться.

  1. На вкладке Данные выберите Из текстового/CSV-файла (в некоторых версиях Получить данные > Из файла > Из текстового/CSV-файла) и укажите файл.
  2. В окне предпросмотра выберите в поле Источник файла кодировку файла, например 65001: Юникод (UTF-8) или 1251: Кириллица (Windows), и задайте Разделитель. Буквы должны читаться нормально, а каждое значение — стоять в своём столбце.
  3. Нажмите Преобразовать данные, а не Загрузить: при немедленной загрузке Excel применит свою догадку о типах, и длинные коды могут округлиться уже на этом шаге.
  4. В редакторе Power Query посмотрите на Примененные шаги. Обычно Excel добавляет Повышенные заголовки (первая строка становится названиями столбцов) и Измененный тип. Удалите Измененный тип крестиком рядом с ним.
  5. Выделите столбцы с кодами, артикулами и телефонами и на вкладке Преобразование задайте Тип данных — Текст. Числового шага больше нет, поэтому они станут текстом прямо из исходного файла.
  6. Столбцам, по которым нужно считать, задайте тип Целое число, Десятичное число или Дата. Если числа записаны с десятичным разделителем, который не совпадает с вашими настройками, используйте Тип данных > Используя локаль и выберите язык и регион, в которых создан файл.
  7. Выберите Главная > Закрыть и загрузить.
Примечание Порядок важен. Если задать столбцу тип «Текст», пока выше стоит Измененный тип, Excel превратит в текст уже округлённое число, и цифры останутся потерянными. Если Excel спросит, заменить текущее преобразование или добавить новый шаг, выберите Заменить текущее.

В некоторых версиях в первом окне предпросмотра есть список Определение типа данных. Вариант Не определять типы данных загружает все столбцы как текст — для кодов это безопасно; затем вы меняете тип только у числовых столбцов.

Импорт старым мастером импорта текста

Старый мастер заранее спрашивает формат каждого столбца. В Excel для Microsoft 365 под Windows он по умолчанию скрыт: включите Из текста (прежних версий) в разделе мастеров импорта данных прежних версий в параметрах данных Excel, затем запустите его через Данные > Получить данные > Мастера прежних версий (Legacy Wizards) > Из текста (прежних версий). В старых версиях кнопка Из текста есть прямо на вкладке Данные, а Excel для Mac при импорте текстового файла открывает похожий мастер.

  1. Шаг 1: выберите с разделителями, в поле Формат файла укажите кодировку и отметьте Мои данные содержат заголовки, если в первой строке названия столбцов.
  2. Шаг 2: отметьте разделитель (запятая, точка с запятой, знак табуляции или другой) и проверьте предпросмотр.
  3. Шаг 3: выделите в предпросмотре каждый столбец, который нужно защитить, и задайте Формат данных столбца — текстовый. Числовые столбцы оставьте в формате общий или выберите дата с нужным порядком, например ДМГ.
  4. Нажмите Готово и выберите, куда поместить данные.

Как и Power Query, мастер задаёт тип до того, как значение попадёт в ячейку, поэтому он сохраняет длинные коды, а форматирование задним числом — нет.

Без настроек импорта: сначала преобразуйте в XLSX

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

  1. Откройте CSV в CSV в Excel. Если столбцы разбиты неправильно, задайте разделитель или кодировку в разделе Параметры импорта.
  2. Для текста с фиксированной шириной, нескольких разделителей сразу или строк отчёта над заголовком используйте Импорт текста…: разбейте по разделителям, фиксированной ширине или шаблону, пропустите первые строки, проверьте предпросмотр и нажмите Импортировать.
  3. Для файлов с кодами и идентификаторами оставьте Все значения как текст. Распознавать числа и true/false превращает столбцы простых чисел в числа; сначала прочитайте, как эта настройка обходится с телефонами и кодами с буквой E.
  4. Нажмите Скачать XLSX и откройте книгу в Excel.

Попробуйте на файле-примере: в нём нули в начале, 20-значные номера, артикул, похожий на дату, и примечание, похожее на формулу.

Открыть «CSV в Excel»Скачать пример CSV4 строки вымышленных данных, UTF-8

Частые проблемы при импорте и их решение

  • Всё оказалось в столбце A. Разделитель указан неверно. Выберите правильный в предпросмотре или в разделе Параметры импорта в ViewCSV.
  • Вместо букв «кракозябры», é или ?. Неверная кодировка. Сначала попробуйте UTF-8, затем Windows-1251 или другую региональную кодировку файла.
  • Названия столбцов попали в первую строку данных. В Power Query используйте Использовать первую строку в качестве заголовков, а в мастере отметьте Мои данные содержат заголовки.
  • В датах перепутаны день и месяц. Импортируйте столбец как текст или задайте его тип с локалью, в которой создан файл.
  • Длинные коды заканчиваются нулями. Их преобразовали раньше, чем вы задали тип «Текст». Удалите импорт и начните заново с исходного CSV; вот почему потерянные цифры не восстановить.
  • Числа не суммируются. Они импортированы как текст. Поменяйте тип столбца на числовой в Power Query или воспользуйтесь командой Преобразовать в число в Excel.

Прежде чем делиться результатом

Если снова сохранить лист в CSV, типы пропадут, и следующий, кто откроет файл двойным щелчком, столкнётся с теми же проблемами. Отправляйте книгу Excel или CSV вместе с этими шагами импорта. Конвертер ViewCSV обрабатывает файлы до 25 МБ, 100 000 строк, 250 столбцов и 2 миллионов ячеек; файлы крупнее сначала разделите на части.

Источники

Документация Microsoft, пересказанная своими словами. В вашей версии Excel названия пунктов меню могут отличаться.

Другие руководства

Руководства по CSV и Excel