Поделиться через


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

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

Совет

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

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

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

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

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

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

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

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

Снимок экрана: пример итоговой объединенной таблицы.

Предварительная версия таблицы

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

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

В этом примере выберите Объединить. Для Excel или Power Query Desktop выберите Объединение & Преобразовать данные.

Заметка

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

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

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

снимок экрана диалогового окна

Заметка

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

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

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

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

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

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

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

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

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

снимок экрана: пример файла преобразования с столбцами dat с апреля 2019 г. и разделом заголовка.

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

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

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

    снимок экрана меню значка таблицы с выделенным элементом

    В диалоговом окне Удаление верхних строк введите 4, а затем выберите ОК.

    снимок экрана диалогового окна

    После выбора ОКтаблица больше не имеет первых четырех строк.

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

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

    снимок экрана: меню значка таблицы с выделенным параметром

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

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

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

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

Когда вы вернетесь к запросу CSV-файлы в Power Query Desktop, последний шаг выдает ошибку: «Столбец 'Column1' в таблице не найден». При возврате к запросу CSV-файлы в Power Query Online, изменения, внесенные ранее для удаления первых четырех строк и использования первой строки в качестве заголовков, не применяются к таблице. В Power Query Online выберите Обновить на вкладке Главная. После обновления отображается то же сообщение об ошибке.

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

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

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

снимок экрана объединённых файлов без шага ошибки.

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

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

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

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

Заметка

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

Проверка

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

снимок экрана диалогового окна фильтра с неполным списком объединенных файлов.

После того как вы выберете загрузить ещё, будут отображены все доступные имена файлов.

снимок экрана диалогового окна фильтра с полным списком объединенных файлов.