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

Собственно, здесь нужно проверить две вещи. Во-первых, помещает ли Excel начальные нули в исходный файл CSV?

Во-вторых, сохраняет ли он нули в CSV-файле, когда вы его перезагружаете и затем повторно сохраняете? Это две разные проблемы.

Проверить первый выпуск достаточно легко. Все, что вам нужно сделать, это переименовать файл CSV, чтобы он имел расширение TXT, а затем вы можете загрузить его в текстовый редактор, например Блокнот. Там вы можете проверить фактический CSV-файл, созданный Excel, чтобы убедиться, что все находится в ожидаемом вами формате. Если это не так — например, там, где они нужны, нет ведущих нулей, — тогда вам нужно прежде всего позаботиться о том, как Excel создает файл CSV.

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

Это подводит нас ко второй проблеме. Когда вы загружаете CSV-файл в Excel, он пытается определить формат загружаемых данных. Вы, наверное, заметили, загружая свой CSV-файл в Блокнот, что, хотя Excel включает ведущие нули в выходной файл, в самом поле нет кавычек. Это означает, что Excel автоматически распознает поле как число при его импорте. Таким образом, по умолчанию число отображается с использованием одного из числовых полей, тем самым удаляя все ведущие нули в том, что отображает Excel.

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

  1. Убедитесь, что файл CSV переименован и имеет расширение TXT. Вы должны выполнить этот шаг, иначе остальные шаги не будут работать, потому что Excel не запустит мастер импорта текста на шаге 5.

  2. Откройте диалоговое окно «Открыть». (В Excel 2007 нажмите кнопку «Office», а затем «Открыть». В Excel 2010 перейдите на вкладку «Файл» на ленте, а затем нажмите «Открыть». В Excel 2013 перейдите на вкладку «Файл» на ленте, нажмите «Открыть», затем «Компьютер» и, наконец Обзор. В более поздних версиях Excel щелкните вкладку «Файл» на ленте и нажмите кнопку «Обзор».)

  3. В раскрывающемся списке Тип файлов в нижней части диалогового окна укажите, что вы хотите открыть текстовые файлы (.prn; .txt; * .csv).

  4. Найдите и выберите файл, который вы переименовали на шаге 1.

  5. Щелкните «Открыть». Excel запускает мастер импорта текста, отображая диалоговое окно «Шаг 1 из 3». (См. Рис. 1.)

  6. Убедитесь, что выбран вариант «С разделителями», затем нажмите «Далее». Excel отображает диалоговое окно «Шаг 2 из 3».

  7. Убедитесь, что в качестве разделителя выбрана запятая, затем нажмите Далее. Excel отображает диалоговое окно «Шаг 3 из 3». Интересно то, что данные в вашем файле TXT должны отображаться в нижней части диалогового окна, включая любые начальные нули в ваших полях.

  8. Внизу диалогового окна щелкните поле с ведущими нулями. Теперь должен быть выбран весь столбец.

  9. Убедитесь, что в области «Формат данных столбца» установлен переключатель «Текст».

  10. Повторите шаги 8 и 9 для всех других полей, у которых есть ведущие нули.

  11. Щелкните Готово. Ваш файл импортирован, а ведущие нули остались нетронутыми.

Теперь вы можете выполнять свою работу в Excel по своему желанию и снова сохранять данные в формате CSV. (Однако вам нужно будет использовать «Сохранить как», а не просто «Сохранить».) Начальные нули будут включены в данные, которые будут сохранены.

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (10262) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Handling_Leading_Zeros_in_CSV_Files [Обработка начальных нулей в файлах CSV].