Страницы: Пред. 1 2
RSS
Как выгрузить из огромного файла HTML данные в Power Qwery
 
Михаил Л, Все также: на шаге "Custom4" - пустота (см. выше минутой раньше написал)
 
Цитата
Михаил Л написал:
Если только такой запрос запустить - таблица собирается?
нет, не собирается - пустота на шаге "Custom4"
Цитата
на сколько я понял у меня вот эта часть "      <TR>" выглядит под другому (через табуляцию а не пробелы)
Изменено: mitox - 29.03.2020 10:47:09
 
Цитата
mitox написал:
на сколько я понял у меня вот эта часть "       " выглядит под другому (через табуляцию а не пробелы)
Вот как у вас выглядит - так и замените здесь - ( b[Column1] = "      <TR>" )
 
Михаил Л, два пробела вместо 6-ти не подходят(( , а как прописать два отступа - я не понимаю
 
Цитата
mitox написал:
а как прописать два отступа
На скрине смотрите
 
Вот скрин этого шага
 
Цитата
mitox написал:
скрин этого шага
Копируйте вместе с <TR>
 
Михаил Л, Извините - затупил. Да таблица получилась. В таблице 18 колонок
Изменено: mitox - 29.03.2020 11:12:17
 
Цитата
mitox написал:
таблица получилась
Ну и все. Там четыре шага надо сделать
1. Заполнить вниз
2. в столбце 13 заменить &quot; на пустоту
3. поднять первую строку в заголовки
4. тип задать для столбцов
 
Цитата
Михаил Л написал:
На легкий файл(14 мб) минута уходит, на 100 мб - минут восемь наверноеКод
Михаил Л, Нет - на 100 мб ушло три минуты. Я перед этим правда полчаса ждал чтобы все файлы из папки собрать за раз - не дождался))) Но и за это огромное спасибо (особенно за терпение). Буду пробовать Text.BetweenDelimiters на что то другое менять чтоб в Экселе загружать данные
 
mitox, не знаю какой вы ждете результат после сборки всех файлов.
Если удобно, то можно по одному файлу в папке обработать и пересохранить в текстовые файлы
 
Михаил Л,  мне нужна База данных к которой я цепляюсь BI ...
 
Цитата
mitox написал:
Буду пробовать Text.BetweenDelimiters на что то другое менять чтоб в Экселе загружать данные
Михаил Л, Я попробовал сам найти замену Text.BetweenDelimiters. Получилось, но мне как то страшно от этого.
Код
    #"1" = Table.AddColumn(a, "Диапазон", each try Text.Middle(Text.From([Column1], "ru-RU"), Text.PositionOf([Column1], "NOWRAP>")+7, Text.PositionOf([Column1], "</TD>")) otherwise null, type text),
    #"2" = Table.ReplaceValue(#"1","</TD>","",Replacer.ReplaceText,{"Диапазон"})
Изменено: mitox - 29.03.2020 15:08:47
 
Цитата
mitox написал:
чтоб в Экселе загружать данные
Я бы обновил Power Query
 
перед загрузкой можно файлы минимизировать, например, с помощью tidy html

В переменных среды машины у меня добавлена переменная tidy со значением %APPDATA%\tidy-5.6.0-vc10-64b\bin\
В переменных среды пользователя в переменной Path добавлено в конце ;%tidy%
содержимое архива tidy-5.6.0-vc10-64b.zip отсюда лежит в %APPDATA%

В командной строке пишу
Код
tidy --indent 0 --wrap 0 --show-body-only 1 --bare 1 --omit-optional-tags 1 --newline lf -g -q -o D:\temp\out.html %homepath%\Downloads\15p.html

размер исходного файла - 14364672 байт, размер выходного файла - 6916608 байт

Код
let
    Source = Web.Page(Text.Replace(Text.Replace(Text.FromBinary(File.Contents("D:\temp\out.html"))," nowrap",""),"#(lf)","")){0}[Data],
    #"Removed Top Rows" = Table.Skip(Source,1),
    #"Promoted Headers" = Table.PromoteHeaders(#"Removed Top Rows", [PromoteAllScalars=true])
in
    #"Promoted Headers"

Запрос вместе с выгрузкой на лист отрабатывает за ~70 сек. на мягко говоря слабом пк (AMD 64 x2 4200+, 8 ГБ ОЗУ)
Страницы: Пред. 1 2
Наверх