Название: ошибка при загрузке группы файлов xml
Отправлено: adelaur от 20.08.2020, 12:28:18
Добрый день, при загрузке большого кол-ва файлов xml в power query на этапе показанном на скриншоте , раскрываю колонку "Content" и появляется ошибка : "DataFormat.Error: Сбой обработки XML. Введенные данные недопустимы или не поддерживаются. (Внутренняя ошибка: Непредусмотренное объявление XML. Объявление XML должно быть первым узлом в документе, использование знаков пробела перед ним не допускается., строка 293, позиция 16.)". По одному файлу раскрывает все корректно,если несколько файлов выдает ошибку. Прикладываю образец с xml файлами .
Название: Re:ошибка при загрузке группы файлов xml
Отправлено: Дмитрий Щербаков(The_Prist) от 20.08.2020, 13:21:59
Вы бы хоть пример запроса свой приложили. И версию Excel. потому что я только что загрузил все файлы без проблем. Попробуйте посмотреть шаги запроса и ознакомьтесь со статьей: Получить данные из файлов XML при помощи Power Query (https://www.excel-vba.ru/chto-umeet-excel/poluchit-dannye-iz-fajlov-xml-pri-pomoshhi-power-query/) Вдруг свою проблему определите.
Название: Re:ошибка при загрузке группы файлов xml
Отправлено: adelaur от 20.08.2020, 20:56:19
Видео посмотрел, кажется даже пару лет назад я его смотрел и тогда все получилось. Версия excel тогда была старая, power query приходилось ставить . Сейчас стоит 2016 .Пример запроса это таблица которая должна получиться ?
Название: Re:ошибка при загрузке группы файлов xml
Отправлено: Дмитрий Щербаков(The_Prist) от 22.08.2020, 10:01:13
Пример запроса это Если ВЫ не знаете что такое запрос в PowerQwery - то явно рано начали в нем работать :) Запрос - это в PowerQwery по сути все, что Вы делаете. Например, подгружаете XML. Все Ваши действия по выполнению этой задачи и есть запрос. Весь текст запроса можно посмотреть с вкладки Главная -Расширенный редактор. Однако хочется так же спросить: видео посмотрели, статью прочитали - что-то сделать попробовали?
Название: Re:ошибка при загрузке группы файлов xml
Отправлено: adelaur от 23.08.2020, 01:21:16
Запрос так выглядит : let Источник = Folder.Files("C:\Adelaur\May\J1\EF\Folder 01"), #"Комбинированные двоичные значения" = Binary.Combine(Источник[Content]), #"Импортированные данные XML" = Xml.Tables(#"Комбинированные двоичные значения") in #"Импортированные данные XML" Потом внимательней посмотрел статью и увидел это : Если же после раскрытия значка в столбце Content содержимое наполняется беспорядочным набором символов(вроде ZCHGASsadfajVHHghHHgjJhJJHgjTrTPukhUu), то необходимо удалить последний шаг(в поле примененные шаги) и проделать следующее: вкладка Добавить столбец(Add Column) -Пользовательский столбец(Custom Column) в появившемся окне указать имя столбца(я его назвал Данные XML), а в поле Пользовательская формула столбца(Custom column formula) записать следующую формулу: =Xml.Tables([Content], null, 1251) Попробовал, частично помогло :ошибку перестал выдавать, цифры отобразились, а текст наоборот стал "не читаемым" Запрос стал таким : let Источник = Folder.Files("C:\Adelaur\May\J1\EF\Folder 01"), #"Добавлен пользовательский объект" = Table.AddColumn(Источник, "Custom", each Xml.Tables([Content], null, 1251)), #"Развернутый элемент Custom" = Table.ExpandTableColumn(#"Добавлен пользовательский объект", "Custom", {"Name", "Table"}, {"Custom.Name", "Custom.Table"}), #"Развернутый элемент Custom.Table" = Table.ExpandTableColumn(#"Развернутый элемент Custom", "Custom.Table", {"http://zakupki.gov.ru/oos/types/1", "Attribute:schemeVersion"}, {"Custom.Table.http://zakupki.gov.ru/oos/types/1", "Custom.Table.Attribute:schemeVersion"}), #"Развернутый элемент Custom.Table.http://zakupki.gov.ru/oos/types/1" = Table.ExpandTableColumn(#"Развернутый элемент Custom.Table", "Custom.Table.http://zakupki.gov.ru/oos/types/1", {"protocolLot", "protocolPublisher", "purchaseNumber"}, {"Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolLot", "Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolPublisher", "Custom.Table.http://zakupki.gov.ru/oos/types/1.purchaseNumber"}), #"Развернутый элемент Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolLot" = Table.ExpandTableColumn(#"Развернутый элемент Custom.Table.http://zakupki.gov.ru/oos/types/1", "Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolLot", {"applications"}, {"Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolLot.applications"}), #"Развернутый элемент Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolLot.applications" = Table.ExpandTableColumn(#"Развернутый элемент Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolLot", "Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolLot.applications", {"application"}, {"Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolLot.applications.application"}), #"Развернутый элемент Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolLot.applications.application" = Table.ExpandTableColumn(#"Развернутый элемент Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolLot.applications", "Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolLot.applications.application", {"appRating", "winnerPrice"}, {"Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolLot.applications.application.appRating", "Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolLot.applications.application.winnerPrice"}), #"Развернутый элемент Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolPublisher" = Table.ExpandTableColumn(#"Развернутый элемент Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolLot.applications.application", "Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolPublisher", {"publisherOrg"}, {"Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolPublisher.publisherOrg"}), #"Развернутый элемент Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolPublisher.publisherOrg" = Table.ExpandTableColumn(#"Развернутый элемент Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolPublisher", "Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolPublisher.publisherOrg", {"fullName"}, {"Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolPublisher.publisherOrg.fullName"}) in #"Развернутый элемент Custom.Table.http://zakupki.gov.ru/oos/types/1.protocolPublisher.publisherOrg" Потом обратил внимание на кодировку, сверил со своими файлами : у меня UTF-8. Поменял , появилась новая ошибка : "Ошибка выражения: Имя "UTF" не распознано. Убедитесь в том, что оно написано верно." Запрос : let Источник = Folder.Files("C:\Adelaur\May\J1\EF\Folder 01"), #"Добавлен пользовательский объект" = Table.AddColumn(Источник, "Custom", each Xml.Tables([Content], null, UTF-8)) in #"Добавлен пользовательский объект"
Название: Re:ошибка при загрузке группы файлов xml
Отправлено: Дмитрий Щербаков(The_Prist) от 24.08.2020, 11:05:55
Уберите тире из UTF-8 - UTF8
Название: Re:ошибка при загрузке группы файлов xml
Отправлено: adelaur от 25.08.2020, 13:39:46
Все равно выдает ошибку "Ошибка выражения: Имя "UTF8" не распознано. Убедитесь в том, что оно написано верно." let Источник = Folder.Files("C:\Adelaur\May\J1\EF\Folder 01"), #"Добавлен пользовательский объект" = Table.AddColumn(Источник, "Custom", each Xml.Tables([Content], null, UTF8)) in #"Добавлен пользовательский объект"
Название: Re:ошибка при загрузке группы файлов xml
Отправлено: Дмитрий Щербаков(The_Prist) от 25.08.2020, 13:59:11
each Xml.Tables([Content], null, TextEncoding.Utf8))
Название: Re:ошибка при загрузке группы файлов xml
Отправлено: adelaur от 25.08.2020, 14:42:23
Спасибо, теперь все заработало .
|