Не надо ничего разбивать. Создай канал, в который будешь построчно писать строки из файла, так же создай воркеры, которые будут читать из этого канала и что-то делать с этой строкой, по окончании результат передавать в другой канал, для финальной обработки. Из этого последнего канала читает только один ридер и пишет в твою структуру Data.
Накидал
примерчик, если что, спрашивай