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


Текстовый или 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-файла – по сути, это файл с расширением, указывающим тип разделителя.

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

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-файла. После ввода первой ячейки столбца другие ячейки в столбце заполняются. Чтобы данные были извлечены правильно, может потребоваться ввести несколько ячеек в столбце. Если некоторые ячейки в столбце неверны, можно исправить первую неправильную ячейку, а данные извлекаются снова. Чтобы убедиться, что данные успешно извлечены, проверьте данные в первых нескольких ячейках.

Замечание

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

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

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

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

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

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

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

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

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

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

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

Столбцы в Power BI Desktop

При импорте CSV-файла Power BI Desktop создает столбцы=x (где x — количество столбцов в CSV-файле во время первоначального импорта) в качестве шага в редакторе Power Query. Если позже добавляются дополнительные столбцы и для источника данных установлено обновление, то все столбцы, превышающие начальное количество столбцов 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")))