весь этот мусор с "названием категории" и "описанием" нужен? если нет - я бы его тупо проигнорировал через регулярное выражение - и вытащил бы только значимые строки. в линуксовой консоли это "на раз" делается через awk.
Если у строк товара значимые колонки A,B,C,D.
А у строк описаний, значимая колонка только A.
То очевидно, что присутствие значений в колонках B-D является маркером товара.