![]() |
Файлы большого объема html сохранить в csv, изменив структуру
Добрый день. В приложении ссылки находятся три файла.
Файл csv - желаемый результат. Файл html - материал для обработки, приложил один, а так их несколько. Файл xlsx - получаемый результат в Excel в надстройке Power Query. Если в папке один файл html, то Power Query его обработает за минуту-пол-тары. Если скопировать пару раз этот же файл, то PQ три файла обработает за минут пять. Если же размножить до десяти, то на обработку уходит более 15 минут. Результат не очень. http://forum.oszone.net/thread-150969-4.html Глядя в этой теме как лихо скрипты расправляются с файлами csv, хотел бы решить и эту задачу, используя скрипт. То есть обработать папку с файлами html, изменив структуру данных и сохранив в csv. Возможно ли это и сколько времени потребуется на обработку? https://drive.google.com/open?id=1ob...li253cDbc-GMU_ |
html-файлы создаются для отображения уже готовой информации в виде, понятном человеку. Обрабатывать их, особенно таблицы с огромным количеством объединённых строк - занятие крайне неблагодарное и непродуктивное.
Что создаёт эти html-таблицы, откуда они выгружаются? |
Цитата:
Цитата:
|
Этот R-Keeper умеет выгружать данные во что-то другое?
Там вроде бы есть экспорт в DBF или MSSQL. |
Цитата:
|
Цитата:
В любом случае, можно, наверное, делать нечеловеческие усилия и парсить этот HTML, но я бы не советовал. Надо выгружать во что-то более осмысленное. Я немножко пытался парсить, но безрезультатно. |
Цитата:
Цитата:
Чтобы распарсить rowspan-ы, потребуются немаленькие усилия... если бы таблица была простой, то и парсить её было бы просто. Правильнее - получать доступ к исходным данным и уже потом заниматься их обработкой. |
DJ Mogarych, отсюда ноги растутhttps://www.planetaexcel.ru/forum/in...-v-power-qwery
Мне было интересно возможно ли быстрая обработка файлов |
v79italya, быстрая обработка возможна для реляционных баз данных. Почему авторы R-Keeper не озаботились экспортом во что-то вменяемое — хрен его знает.
|
Так озаботились же вроде, просто разобраться надо.
|
DJ Mogarych, а… ну, да.
|
Цитата:
Вот смотрите, если в PQ(на обработку ушло 30 секунд на этот файл) слегка обработать и после сохранить в csv, то на выходе прикрепленный файл. Такой файл можно быстро обработать(извлечь текст между NOWRAP> и </TD>, удалить )? |
Вложений: 1
для себя кстати распарсил, но выкладывать вряд-ли буду. Там помимо colspan'ов ещё всякого нежданчика может быть...
|
Цитата:
|
Цитата:
На тот файл .html, который был показан, будет уходить минут от 5 до 15, как минимум... |
Цитата:
А я думал что PQ много в чем тормозит |
Цитата:
Вот парсер на powershell Код:
$infile = '15p.html' rowspan-ы учитываются... colspan-ы не учитываются... Пробуйте... у меня парсился файл 11 минут. |
YuS_2, вы героический человек.
|
YuS_2, спасибо. Завтра опробую
|
Цитата:
|
Цитата:
Как оказалось, глаза боятся, а руки делают... немного гугля, чуть-чуть ковыряния в доках и загашниках со скриптами, в итоге получилось rowspan-ы расковырять. На всё про все, час-полтора с перерывами... Тем не менее, время обработки, всё равно, невменяемое, имхо. Для небольших таблиц сгодится, а для объемных - лучше таки воспользоваться чем-то другим... |
YuS_2, вчера запускал и не понимал что происходит и происходит ли что нибудь.
Сегодня еще раз запустил скрипт и ушел на полчаса. Через пол-часа смотрю, появился csv заполненный и txt, в котором узнал что парсило девять минут. Согласен что девять минут - это много. Вывод такой: по любому парсеры быстро не работают :) |
Парсеры всякой неудобоваримой шляпы быстро не работают.
|
Цитата:
|
Вложений: 1
Выдалось время одновременно с желанием понажимать кнопки... :)
Скрипт теперь "умеет" учитывать и rowspan-ы, и colspan-ы, плюс немного описания: script.ps1
Код:
<# 1. 2. Объемные таблицы, всё также обрабатываются не быстро. 3. Парсит все имеющиеся таблицы в dom-структуре. Вдруг кому-то ещё пригодится... |
Цитата:
|
Вложений: 1
Цитата:
|
Цитата:
У меня на нетбуке за 50 сек обработал. По моему, результат достаточно хороший. Спасибо |
Цитата:
http://forum.oszone.net/post-2919294.html#post2919294 - работает быстрее, т.к. принцип работы основан на внешнем модуле, по типу парсинга XML. - парсер не зависит от встроенного парсера html в powershell, который зависит от Internet Explorer - будет работать в Powershell Core |
Цитата:
|
Время: 17:12. |
Время: 17:12.
© OSzone.net 2001-