Текстовый или CSV-файл

Сводка

Товар Описание
Статус выпуска Общая доступность
Продукция Эксель
Power BI (семантические модели)
Power BI (потоки данных)
Fabric (Dataflow 2-го поколения)
Power Apps (потоки данных)
Dynamics 365 Customer Insights
Службы анализа
Справочная документация по функциям File.Contents
Lines.FromBinary
Csv.Document

Замечание

Некоторые возможности могут присутствовать в одном продукте, но не другие из-за расписаний развертывания и возможностей для конкретного узла.

Поддерживаемые возможности

  • Импорт

Подключение к локальному текстовому или CSV-файлу из Power Query Desktop

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

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

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

    Чтобы открыть файл, выберите Открыть.

  2. В навигаторе можно преобразовать данные в редакторе Power Query, выбрав "Преобразовать данные" или загрузить данные, выбрав "Загрузка".

    Снимок экрана: пример текста в навигаторе.

Подключение к текстовому или CSV-файлу из Power Query Online

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

  1. На странице источников данных выберите текст или CSV.

  2. В параметрах подключения отправьте файл или введите путь к локальному тексту или CSV-файлу.

    Снимок экрана: экран выбора текстового файла в Интернете.

  3. Выберите локальный шлюз данных из шлюза данных.

  4. Ввод имени пользователя и пароля

  5. Нажмите кнопку Далее.

  6. В навигаторе выберите "Преобразовать данные ", чтобы начать преобразование данных в редакторе Power Query.

    Снимок экрана: окно онлайн-навигатора, в котором выбран параметр

Загрузка из Интернета

Чтобы загрузить текстовый или CSV-файл из Интернета, выберите веб-соединитель, введите веб-адрес файла и следуйте любым запросам учетных данных.

Разделители текста и CSV

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

Неструктурированный текст

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

Hello world.
This is sample data.

При загрузке отображается экран навигации, который размещает каждую из этих строк в собственную позицию.

Снимок экрана: навигатор с загруженными данными из простого неструктурированного текстового файла.

В этом диалоговом окне можно настроить только один параметр, который является раскрывающимся списком "Источник файла ". В этом раскрывающемся списке можно выбрать , какой набор символов использовался для создания файла. В настоящее время набор символов не выводится, и UTF-8 выводится только в том случае, если он начинается с BOM UTF-8.

Снимок экрана: выбор региональных настроек файла для Text/CSV.

CSV

Пример CSV-файла можно найти здесь.

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

Снимок экрана: навигатор с загруженными данными из CSV-файла.

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

Снимок экрана: выбор разделителя для CSV-файла.

Последний раскрывающийся список позволяет выбрать способ обработки обнаружения типов данных. Это можно основать на первых 200 строках данных или на всём наборе данных. Вы также можете отключить автоматическое определение типов данных и вместо этого использовать для всех столбцов тип «Текст» по умолчанию. Предупреждение. Если выбрать весь набор данных, это может привести к замедлению начальной загрузки данных в редакторе.

Снимок экрана: выбор типа данных для CSV-файла.

Так как вывод может быть неверным, перед загрузкой дважды проверьте параметры.

Структурированный текст

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

Например, если вы сохраните следующий пример в виде текстового файла, Power Query считывает его как разделитель вкладок, а неструктурированный текст.

Column 1	Column 2	Column 3
This is a string.	1	ABC123
This is also a string.	2	DEF456

Снимок экрана: загруженные данные из структурированного текстового файла.

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

Источник редактирования

При редактировании исходного шага (в области "Примененные шаги" Power Query Desktop отображается немного другое диалоговое окно, чем при первоначальной загрузке файла. В зависимости от того, как в настоящее время вы обрабатываете файл (как текст или CSV), отображается экран с различными раскрывающимся списком.

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

Используйте раскрывающийся список "Разрывы строк ", чтобы выбрать, следует ли применять разрывы строк, находящиеся в кавычках или нет.

Снимок экрана: раскрывающийся список, в котором выбран стиль разрыва строки для CSV-файла.

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

Column 1	Column 2	Column 3
This is a string.	1	"ABC
123"
This is also a string.	2	"DEF456"

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

Загрузка CSV-файла с разрывами строк с кавычками игнорируется.

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

Загрузка CSV-файла с примененными разрывами строк с кавычками.

Используйте раскрывающийся список "Открыть файл ", чтобы изменить то, что вы хотите загрузить в качестве файла. Этот параметр важен для устранения неполадок. Для структурированных файлов, которые формально не являются CSV-файлами (например, файла со значениями, разделёнными табуляцией, сохранённого как текстовый файл), оставьте для параметра Открыть файл как значение CSV. Этот параметр также определяет, какие раскрывающиеся списки доступны в остальной части диалогового окна.

Изменение типа файла.

Текст/CSV по примеру

Пример текста и CSV в Power Query — это общедоступная функция в Power BI Desktop и Power Query Online. При использовании соединителя Text/CSV вы увидите параметр извлечения таблицы с помощью примеров в левом нижнем углу навигатора.

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

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

Замечание

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

Укажите пример выходных значений для извлечения данных.

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

Подробные сведения о шагах по извлечению данных.

Устранение неполадок

Загрузка файлов из Интернета

Если вы запрашиваете из Интернета файлы text/csv, а также передаёте заголовки, и получаете достаточно много файлов, чтобы учитывать возможное ограничение скорости, рассмотрите возможность обернуть вызов Web.Contents в Binary.Buffer(). В этом случае буферизация файла перед повышением заголовков приводит к тому, что файл запрашивается только один раз.

Работа с большими CSV-файлами

Если вы работаете с большими CSV-файлами в редакторе Power Query Online, может появиться внутренняя ошибка. Сначала обратитесь к CSV-файлу меньшего размера, примените шаги в редакторе и после завершения измените путь к большему CSV-файлу. Этот метод позволяет эффективнее работать и снижает вероятность возникновения времени ожидания в интерактивном редакторе. Вы не ожидаете, что эта ошибка возникает во время обновления, так как служба позволяет более длительное время ожидания.

Неструктурированный текст интерпретируется как структурированный

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

Столбцы в Power BI Desktop

При импорте CSV-файла Power BI Desktop создает шаг columns=x в редакторе Power Query, где x — количество столбцов в файле CSV при первоначальном импорте. Если позже добавить дополнительные столбцы и задать источник данных для обновления, операция обновления не содержит столбцов за пределами начального количества столбцов x .

Ошибка: подключение закрыто узлом

При загрузке текстовых/CSV-файлов из веб-источника и повышении заголовков до заголовков столбцов иногда могут возникать следующие ошибки: "An existing connection was forcibly closed by the remote host" или "Received an unexpected EOF or 0 bytes from the transport stream.". Эти ошибки может вызывать хост, применяя защитные меры и закрывая соединение, которое может быть временно приостановлено, например в ожидании соединения с другим источником данных для операции объединения или добавления. Чтобы обойти эти ошибки, попробуйте добавить вызов Binary.Buffer (рекомендуется) или Table.Buffer. Эти функции загружают файл, загружают его в память и немедленно закрывают подключение. Это действие предотвращает любые паузы во время загрузки и не позволяет хосту принудительно закрыть соединение до того, как содержимое будет получено.

В следующем примере показано это обходное решение. Перед передачей результирующей таблицы в Table.PromoteHeaders необходимо выполнить эту буферизацию.

  • Исходный текст
Csv.Document(Web.Contents("https://.../MyFile.csv"))
  • С Binary.Buffer
Csv.Document(Binary.Buffer(Web.Contents("https://.../MyFile.csv")))
  • С Table.Buffer
Table.Buffer(Csv.Document(Web.Contents("https://.../MyFile.csv")))