Объединение CSV-файлов

В Power Query можно объединить несколько файлов из заданного источника данных. В этой статье описывается, как работает интерфейс, когда файлы, которые требуется объединить, являются CSV-файлами. Дополнительные сведения: общие сведения об объединении файлов

Совет

Вы можете следовать этому примеру, скачав примеры файлов, используемых в этой статье, из этой ссылки скачивания. Эти файлы можно поместить в источник данных, например локальную папку, папку SharePoint, хранилище BLOB-объектов Azure, azure Data Lake служба хранилища или другой источник данных, предоставляющий представление файловой системы.

Для простоты в этом примере используется соединитель папок. Дополнительные сведения: папка

Сведения об используемых примерах файлов

Для объединения файлов очень важно, чтобы все они имели одинаковую структуру и одно и то же расширение. Все файлы, используемые в этом примере, имеют одинаковую структуру и расширение (.csv).

Существует 12 CSV-файлов, по одному за каждый месяц календарного года 2019 года. На следующем рисунке показаны первые 15 строк файла в течение месяца января.

Пример CSV-файла за январь 2019 г. с разделом заголовка и остальными данными, разделенными запятыми.

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

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

Пример итоговой объединенной таблицы.

Просмотр таблицы

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

Предварительная версия таблицы для представления файловой системы.

В этом примере выберите "Объединить".

Примечание.

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

Диалоговое окно "Объединение файлов"

После выбора "Объединить" в предварительной версии таблицы появится диалоговое окно "Объединение файлов".

Диалоговое окно объединения файлов.

Примечание.

Power Query автоматически определяет, какой соединитель следует использовать на основе первого файла, найденного в списке. Чтобы узнать больше о соединителе CSV, перейдите в раздел Text/CSV.

В этом примере оставьте все параметры по умолчанию (пример файла, равный First file, и значения по умолчанию для источника файлов, разделителя и обнаружения типов данных).

Теперь выберите "Преобразовать данные " в правом нижнем углу, чтобы перейти к выходному запросу.

Выходной запрос

После выбора преобразования данных в диалоговом окне "Объединение файлов" вы вернетесь к Редактор Power Query в запросе, первоначально созданном из подключения к локальной папке. Теперь выходной запрос содержит имя исходного файла в левом столбце, а также данные из каждого исходного файла в оставшихся столбцах.

Выходной запрос для объединенных файлов без дополнительных преобразований.

Однако данные не имеют правильной формы. Прежде чем объединять их, необходимо удалить первые четыре строки из каждого файла. Чтобы внести это изменение в каждый файл перед объединением, выберите запрос "Преобразовать пример файла" в области "Запросы" в левой части экрана.

Изменение запроса примера файла преобразования

В этом запросе на пример файла преобразования значения в столбце Date указывают, что данные относятся к месяцу апреля, который имеет формат YYYY-MM-DD. Апрель 2019.csv — это первый файл, отображаемый в предварительной версии таблицы.

Таблица с столбцами данных с апреля 2019 года, включая раздел заголовка в первых четырех строках и заголовки в пятой строке.

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

Преобразования, которые необходимо добавить в запрос примера файла преобразования:

  1. Удалите верхние строки: чтобы выполнить эту операцию, выберите меню значка таблицы в левом верхнем углу таблицы, а затем выберите "Удалить верхние строки".

    Удалите верхние строки в меню таблицы.

    В диалоговом окне "Удалить верхние строки" введите 4 и нажмите кнопку "ОК".

    Диалоговое окно

    После нажатия кнопки "ОК" таблица больше не будет содержать первые четыре строки.

    Пример запроса с удаленными строками.

  2. Используйте первую строку в качестве заголовков: снова выберите значок таблицы, а затем нажмите кнопку "Использовать первую строку в качестве заголовков".

    Используйте первую строку в качестве значка заголовков.

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

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

После завершения этой операции Power Query по умолчанию попытается автоматически определить типы данных столбцов и добавить новый шаг типа измененного столбца .

Изменение выходного запроса

Когда вы вернетесь к запросу CSV-файлов , вы заметите, что последний шаг дает ошибку, которая считывает "Столбец "Столбец1" таблицы не найден". Причина этой ошибки заключается в том, что предыдущее состояние запроса выполнялось для столбца с именем Column1. Но из-за изменений, внесенных в запрос примера файла преобразования, этот столбец больше не существует. Дополнительные сведения: работа с ошибками в Power Query

Выходной запрос с ошибкой уровня шага.

Этот последний шаг запроса можно удалить из области "Примененные шаги ", выбрав значок удаления X слева от имени шага. После удаления этого шага запрос отобразит правильные результаты.

Объединение файлов без шага ошибки.

Однако обратите внимание, что ни один из столбцов, производных от файлов (Date, Country, Units, Revenue) не имеет определенного типа данных, назначенного им. Назначьте правильный тип данных каждому столбцу с помощью следующей таблицы.

Имя столбца Тип данных
Дата Дата
Страна/регион Текст
единиц(ы) Целое число
Выручка Валюта

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

Пример итоговой объединенной таблицы.

Примечание.

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

Проверка

Чтобы убедиться, что все файлы были объединенными, можно выбрать значок фильтра в заголовке столбца Source.Name , в котором будут отображаться все имена объединенных файлов. Если появится предупреждение "Список может быть неполным", выберите "Загрузить больше в нижней части меню", чтобы отобразить дополнительные доступные значения в столбце.

Неполный список объединенных файлов.

После выбора "Загрузить больше" будут отображаться все доступные имена файлов.

Полный список объединенных файлов.