Преобразование CSV в Excel: решения распространенных проблем

  • Поделись Этим
Michael Brown

CSV некорректно открывается в Excel? В учебнике рассматриваются типичные проблемы и предлагаются наиболее эффективные решения.

Формат CSV широко используется для импорта/экспорта данных между различными программами электронных таблиц. Название CSV (comma separated values) подразумевает использование запятой для разделения полей данных. Но это в теории. На практике многие так называемые CSV файлы разделяют данные с помощью других символов, таких как точка с запятой или табуляция. Некоторые реализации заключают поля данных в одинарные или двойные кавычки, в то время какДругие требуют наличия метки порядка байтов (BOM) Unicode, например UTF-8, для правильной интерпретации Unicode. Отсутствие стандарта порождает различные проблемы при преобразовании CSV в Excel.

    CSV-файл открывается в Excel в один столбец

    Симптомы При открытии файла csv в Excel все данные отображаются в одном столбце.

    Причина Для разделения данных в столбцах Excel использует разделитель списка, установленный в региональных настройках Windows. Это может быть либо запятая (в Северной Америке и некоторых других странах), либо точка с запятой (в европейских странах). Если разделитель, используемый в конкретном файле .csv, отличается от разделителя по умолчанию, этот файл открывается в один столбец.

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

    Изменение разделителя в файле CSV

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

    • Для разделения запятой: sep=,
    • Для разделения точкой с запятой: sep=;

    Таким же образом можно установить любой другой пользовательский разделитель - просто введите его после знака равенства.

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

    Укажите разделитель при импорте файла CSV в Excel

    Вместо того чтобы открывать файл csv в Excel, импортируйте его с помощью Мастера импорта текста (во всех версиях) или Power Query (в Excel 365 - 2016).

    Мастер импорта текста ( Данные вкладка> Из текста ) предоставляет несколько вариантов разделителей на шаге 2. Как правило, вы выбираете:

    • Запятая для файлов значений, разделенных запятыми
    • Вкладка для текстовых файлов
    • Точка с запятой для файлов значений, разделенных точкой с запятой

    Если вы не уверены, какой разделитель содержат ваши данные, попробуйте разные разделители и посмотрите, какой из них работает правильно в предварительном просмотре данных.

    При создании соединения Power Query можно выбрать разделитель в диалоговом окне предварительного просмотра:

    Подробные пошаговые инструкции приведены в примерах по ссылке выше.

    Разделение ячеек с помощью функции "Текст в столбцы

    Если ваши данные уже перенесены в Excel, вы можете разделить их на разные столбцы с помощью функции Текст в столбцы По сути, он работает как мастер импорта текста: вы выбираете разделитель и Предварительный просмотр данных отражает изменения на лету:

    Для получения подробной информации см. раздел Как разделить ячейки в Excel.

    Как сохранить ведущие нули в Excel CSV

    Симптомы. Некоторые значения в файле csv содержат ведущие нули. Когда файл открывается в Excel, предшествующие нули теряются.

    Причина По умолчанию Microsoft Excel преобразует файлы csv в формат Общий формат, который отсекает ведущие нули.

    Решение Вместо открытия импортируйте CSV в Excel и выберите пункт Текст формат для проблемных столбцов.

    Использование мастера импорта текста

    Чтобы начать Мастер импорта текста автоматически, измените расширение файла с .csv на .txt, а затем откройте текстовый файл из Excel. Или включите функцию Из текста (Legacy) и начните импортировать CSV в Excel.

    На шаге 3 мастера выберите столбец, содержащий значения с ведущими нулями, и измените его формат на Текст Это импортирует значения в виде текстовых строк, сохраняя все ведущие нули на месте.

    Использование Power Query

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

    Метод 1: Импорт всех данных в текстовом формате

    В диалоговом окне предварительного просмотра в разделе Обнаружение типа данных выберите Не определять типы данных Содержимое файла csv будет загружено в Excel как текст, при этом все ведущие нули будут сохранены.

    Примечание. Этот метод работает, если ваш файл содержит только текст Данные. Если имеются различные виды значений, то используйте метод 2 для определения соответствующего формата для каждого столбца в отдельности.

    Метод 2: Установите формат для каждого столбца

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

    1. Под предварительным просмотром данных нажмите Преобразование данных .
    2. В редакторе Power Query Editor выберите столбец, в котором нужно сохранить предшествующие нули, и нажмите кнопку Тип данных > Текст .

  • При необходимости определите типы данных для других столбцов.
  • После завершения редактирования, на Главная во вкладке Закрыть группу, нажмите либо:
    • Закрыть & Загрузить - это загрузит результаты на новый лист в текущей рабочей книге.
    • Закрыть & Загрузить To... - это позволит вам решить, куда загружать результаты.
  • Совет. Эти методы также могут предотвратить другие манипуляции с вашими данными, которые Excel пытается выполнить автоматически. Например, если импортированные данные начинаются с "=", Excel попытается вычислить их. Применяя метод Текст формат, вы указываете, что значения являются строками, а не формулами.

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

    Симптомы. После преобразования CSV в Excel даты форматируются неправильно, дни и месяцы меняются местами, некоторые даты заменяются на текст, а некоторые текстовые значения автоматически форматируются как даты.

    Причина В файле csv даты записаны в формате, отличном от формата даты по умолчанию, установленного в вашей операционной системе, из-за чего Excel не может правильно интерпретировать даты.

    Решение В зависимости от того, с какой именно проблемой вы столкнулись, попробуйте одно из следующих решений.

    Дни и месяцы перепутаны

    Когда форматы дат в региональных настройках Windows и в файле csv отличаются, у Excel нет способа определить, что мм/дд/гг даты, которые он ищет, хранятся в дд/мм/гг в данном конкретном файле. В результате единицы измерения дня и месяца меняются местами: Январь-3 становится Мар-1 , 10 янв. становится октябрь-1 и т.д. Более того, даты после Январь-12 преобразуются в текстовые строки, поскольку не существует 13-го, 14-го и т.д. месяцев.

    Чтобы даты были импортированы правильно, запустите Мастер импорта текста и выберите соответствующий Дата формат в шаге 3:

    Некоторые значения преобразуются в даты

    Microsoft Excel разработан для облегчения ввода различных типов значений. Поэтому, если Excel считает, что данное значение представляет собой дату, оно автоматически форматируется как дата. Например, текстовая строка апрель 23 очень похож на 23 апреля и 11/3 напоминает 3 ноября , поэтому оба значения преобразуются в даты.

    Чтобы запретить Excel менять текстовые значения на даты, используйте уже знакомый подход: конвертируйте CSV в Excel, импортируя его. На шаге 3 из Мастер импорта текста , выберите проблемный столбец и измените его формат на Текст .

    Неправильное форматирование дат

    Когда файл csv открывается в Excel, даты обычно отображаются в формате по умолчанию. Например, в исходном файле у вас могут быть следующие данные 7-май-21 или 05/07/21 , в то время как в Excel он отображается как 5/7/2021 .

    Чтобы отобразить даты в нужном формате, воспользуйтесь функцией Форматирование ячеек особенность:

    1. Выберите столбец дат.
    2. Нажмите Ctrl + 1, чтобы открыть Форматирование ячеек диалоговое окно.
    3. На Номер выберите Дата по адресу Категория .
    4. Под Тип , выберите нужное форматирование.
    5. Нажмите OK.

    Если ни один из предустановленных форматов вам не подходит, вы можете создать свой собственный, как описано в статье Как сделать пользовательский формат даты в Excel.

    Запретить Excel преобразовывать числа в научную нотацию

    Симптомы. После преобразования CSV в Excel длинные числа форматируются в виде научной нотации, например, 1234578900 отображается как 1.23E+09.

    Причина В Microsoft Excel числа ограничены 15 знаками точности. Если числа в вашем csv-файле превышают этот предел, Excel автоматически преобразует их в научную нотацию как способ соблюдения этого ограничения. Если число содержит более 15 значащих цифр, все "лишние" цифры в конце заменяются нулями.

    Решение Импорт длинных чисел в виде текста или изменение формата чисел непосредственно в Excel.

    Импорт длинных чисел в виде текста

    Чтобы точно перенести большие числа из CSV в Excel, выполните команду Мастер импорта текста и установите формат целевого столбца (столбцов) на Текст .

    Это единственное реальное решение для точного импорта числовые строки без потери данных, т.е. без замены 16-й и последующих цифр на 0 или удаления ведущих нулей. Это отлично работает для таких записей, как идентификаторы товаров, номера счетов, штрих-коды и т.п.

    Однако если ваши значения являются числами, а не строками, то это не лучший метод, так как вы не сможете выполнить математические вычисления над полученными текстовыми значениями.

    Этот метод также поможет вам предотвратить другие нежелательные автоматические форматирования данных при конвертировании файла CSV.

    Изменение формата числа в Excel

    Если ваши данные уже находятся в Excel, вы можете изменить формат с Общий либо Текст или Номер как показано ниже:

    Примечание. Этот метод не восстановит удаленные предшествующие нули или цифры после 15-й позиции, которые были заменены нулями.

    Для получения дополнительной информации см. раздел Как форматировать ячейки в Excel.

    Сделайте колонку шире

    В простейшем случае, когда число содержит менее 15 цифр, достаточно сделать столбец немного шире, чтобы числа отображались нормально.

    Более подробную информацию см. в разделе Как изменить размер и автоподгонку столбцов в Excel.

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

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.