Преобразование HTML таблицы в JSON
Преобразует HTML таблицу в JSON представление.
Понадобилось получить структурированные данные из HTML таблицы внешнего ресурса, не нашел ничего лучше, чем написать для этого отдельный калькулятор.
В итоге данный калькулятор преобразует HTML таблицу в JSON представление.
Заголовки и тело таблицы разбираются в отдельные массивы.
Начальные и конечные пустые символы (пробелы, табуляция, переносы строк) удаляются. Если задан параметр Числовые данные — выполняется преобразование строки в число.
Алгоритм сжатия таблиц
Калькулятор содержит экспериментальный алгоритм сжатия данных, пригодный для снижения объема хранимых данных плавно меняющихся функций, заданных в табличном виде. Алгоритм сжимает данные построчно, формируя на выходе JSON массив из чисел и строк. В строках содержатся 1-байтные UTF-8 символы из диапазона, совместимого с HTML.
Автору удавалось добиться степени сжатия 31:1. В качестве теста использовались большие таблицы ГОСТов, описывающих плотность нефтепродуктов для Расчет плотности нефтепродуктов. ГОСТ 3900-85.
Так как алгоритм работает построчно и лучше всего работает на непрерывных плавно-меняющихся функциях, то следует добиться того, чтобы последовательные значения функции находились в строках, а не в столбцах. Если последовательные данные идут в столбцах, то следует включить галочку транспонирования таблицы.
Сжатие работает только на числовых данных. Если таблица содержит пустые ячейки, то нужно выбрать какое-либо число — заполнитель пустот. По умолчанию заполнитель равен нулю. Если ноль для ваших таблиц является допустимым значением, то следует выбрать другой заполнитель.
Ошибки табличных данных
Для наглядности добавлено визуальное представление данных. На графике можно отобразить любые 10 строк таблицы. Это бывает удобно, например, для легкого обнаружения ошибок сканирования таблиц. По моему опыту — практически все таблицы ГОСТов, доступные на различных ресурсах в Интернете в электронном виде, содержат огромное число ошибок сканирования.
Комментарии