Таблицы и данные на практике
Как открыть CSV в Excel без потери нулей и цифр в кодах
Задайте идентификаторам текстовый тип до преобразования данных. Затем сравните загруженные значения с исходным CSV, включая последние цифры длинных кодов.
Сначала сохраните нетронутый исходник
Артикул 00123 — идентификатор: в нём важны все символы, даже если это только цифры. Количество 2 — число, которое может понадобиться для расчётов. Укажите эту разницу при импорте, до загрузки данных.
Шаги рассчитаны на настольные Excel для Microsoft 365 и Excel 2024 в Windows и описанный Microsoft импорт «Из текстового/CSV-файла». Названия команд могут различаться в зависимости от сборки и языка интерфейса. Интерфейсы Mac и веб-версии здесь не рассматриваются. Документацию мы проверили 21 октября 2026 года.
Оставьте скачанный CSV без изменений и работайте с копией. Если вы уже открыли файл и значения выглядят неверно, закройте его, не сохраняя поверх исходника. Откройте оригинал в обычном текстовом редакторе и найдите знакомый код. Если там осталось 00123, файл можно импортировать заново. Если единственная копия уже содержит 123 или изменённые последние цифры, формат ячейки не позволит установить исходное значение. Нужна новая выгрузка или другая неповреждённая копия.
1. Создайте небольшой проверочный файл
Перед важными данными попробуйте этот вымышленный складской список. Сохраните следующие три строки в обычном текстовом редакторе как coru-id-check.csv в кодировке UTF-8. Каждый пункт списка скопируйте отдельной целой строкой, без маркера списка и лишних пробелов. Запятая внутри примечания в кавычках относится к этому полю.
- sku,long_id,exponent_code,date_code,name,note,quantity
- 00123,1234567890123456,1E10,03-04,Ёлка,"green, small",2
- 00456,1234567890123457,2E03,04-05,Берёза,plain,10
2. Выберите кодировку, разделитель и текстовый тип
Откройте пустую книгу. Выберите «Данные → Из текстового/CSV-файла» либо «Данные → Получить данные → Из файла → Из текстового/CSV-файла» и укажите копию. Для этого примера задайте в поле File Origin кодировку UTF-8 (65001), а в Delimiter — запятую. Убедитесь, что заголовки разделились на семь столбцов и слово Ёлка читается правильно.
В Data Type Detection выберите вариант без определения типов данных. По документации коннектора Text/CSV это оставляет столбцы текстовыми. Нажмите «Преобразовать данные» (Transform Data), чтобы проверить результат до загрузки. Если первая строка осталась данными, а не заголовками, примените «Использовать первую строку в качестве заголовков».
В редакторе проверьте тип «Текст» (Text) у sku, long_id, exponent_code и date_code через значок типа рядом с именем столбца. Для name и note тоже оставьте текст. Только quantity переведите в «Целое число» (Whole Number), если нужны расчёты. Затем выберите «Закрыть и загрузить» (Close & Load).
Если предварительный просмотр уже определил типы, не считайте добавление «Текст» в самом конце исправлением прежних преобразований. В «Применённых шагах» (Applied Steps) проверьте шаг «Изменённый тип» (Changed Type). В новом запросе с нашим примером удалите этот автоматический шаг, убедитесь, что исходные символы вернулись, и назначьте типы, указанные выше. Microsoft также описывает замену текущего преобразования через Replace Current, если появляется такой диалог. Цель — прочитать исходные символы как текст до того, как числовое преобразование или преобразование в дату успеет их изменить.
3. Сравните значения, а не только вид ячеек
Сверьте загруженную таблицу с исходником в текстовом редакторе. Если столбец узкий, выберите ячейку и посмотрите полное значение в строке формул. В нашем примере должны пройти все проверки:
- Структура: семь столбцов и две строки данных; строка заголовков в это число не входит.
- Нули в начале: в sku записаны ровно 00123 и 00456, по пять символов в каждом значении.
- Длинные ID: в long_id записаны ровно 1234567890123456 и 1234567890123457. Это разные строки длиной 16 символов; проверьте обе последние цифры.
- Написание кодов: в exponent_code остались 1E10 и 2E03, а в date_code — 03-04 и 04-05. Здесь это коды, поэтому превращать их в даты не нужно.
- Текст: в name находятся Ёлка и Берёза. Первое примечание — green, small в одной ячейке, без внешних кавычек CSV.
- Количество: 2 и 10 находятся в quantity; если вы намеренно выбрали для этого столбца «Целое число», их сумма равна 12.
Почему недостаточно кавычек и формата числа
Кавычки CSV обозначают границы поля. Например, "green, small" удерживает внутреннюю запятую в одном поле. Тип ячейки Excel они не задают. Поэтому запись "00123" в кавычках не заменяет выбор текстового типа при импорте.
Точность чисел в Excel ограничена 15 значащими цифрами. Если важна каждая цифра 16-значного ID, храните его как текст. Экспоненциальная запись — способ отображения: сама по себе она ещё не говорит о потере данных. Сравнивайте полное значение с оригиналом.
Пользовательский формат 00000 может показывать число в пяти позициях. Это правило отображения, а не доказательство того, что неизвестный исходный код состоял из пяти цифр. Потерянные цифры длинного ID он не восстановит. Применение текстового формата после преобразования тоже не возвращает утраченные символы. Задавайте текстовый тип идентификаторов при импорте.
Если предварительный просмотр отличается
- Всё оказалось в одном столбце: проверьте настоящий разделитель файла и выберите его при импорте. В некоторых выгрузках используются точка с запятой или табуляция. Не заменяйте все запятые в файле: они могут находиться внутри полей в кавычках.
- Вместо букв непонятные символы: выберите кодировку, в которой сделана выгрузка. UTF-8 подходит нашему примеру, но не любому файлу. Microsoft описывает обычное открытие CSV в UTF-8 с меткой BOM; явный импорт также позволяет выбрать кодировку. Метка BOM не задаёт типы столбцов с идентификаторами.
- Нужных настроек импорта нет: Microsoft описывает старый мастер Text Import Wizard. В «Файл → Параметры → Данные» включите From Text (Legacy), затем откройте его через «Данные → Получить данные → Устаревшие мастера». Выберите данные с разделителями и правильную кодировку, затем разделитель и двойную кавычку как ограничитель текста. На шаге 3 выберите каждый столбец с идентификаторами и задайте «Текст» до завершения импорта.
Сохраните книгу, а CSV при передаче проверьте заново
Сохраните рабочий результат как книгу .xlsx. CSV хранит текст полей, а не настройки типов ячеек книги. Если выгрузить новый CSV и открыть его двойным щелчком, текст будет интерпретирован заново. Это ещё не доказывает, что изменились байты выгруженного файла.
Если получателю нужен CSV, выгрузите его под новым именем и откройте в текстовом редакторе. Снова проверьте точные ID, затем повторите импорт с явными текстовыми типами. Сообщите получателю кодировку, разделитель и столбцы с идентификаторами. Сохраните книгу и нетронутый исходник до проверки передачи.
В Excel для Microsoft 365 и Excel 2024 также есть настройки Automatic Data Conversion в «Файл → Параметры → Данные». Они меняют некоторые преобразования при обычном открытии или вводе, но Microsoft прямо указывает, что они не управляют импортом Power Query напрямую. Проверку импорта они не заменяют.
Что подтверждает наш пример
Наши локальные проверки через Python CSV сохраняют все семь полей, два разных длинных ID, начальные нули, кириллицу и запятую внутри кавычек. Образцы UTF-8 с BOM и без неё дают одинаковые значения при подходящем декодировании. Эти проверки подтверждают образец и ожидаемые ответы. Они не сертифицируют сборки Excel и не воспроизводят его интерфейс.
Для своего импорта запишите имя исходного файла, версию Excel, кодировку, разделитель, столбцы с идентификаторами и несколько точных значений до и после. Проверьте не только первую, но и последнюю строку: правильный предварительный просмотр не подтверждает правильность каждой записи в большом файле.
Источники и материалы
- Microsoft: начальные нули и длинные числа
- Microsoft: коннектор Text/CSV в Power Query
- Microsoft: типы данных в Power Query
- Microsoft: автоматическое преобразование данных
- Microsoft: импорт и экспорт текстовых файлов и CSV
- Microsoft: мастер импорта текста
- Microsoft: открытие CSV в кодировке UTF-8
- RFC Editor / IETF: формат CSV, RFC 4180