Хорошая ссылка выше на Руководство автостопщика.
Мои два цента. Вы должны рассмотреть возможность использования правильного инструмента для работы. Хотя для решения этой проблемы необходимо написать собственный код, существует множество инструментов, которые уже делают это для вас, сопоставляют источник с целью, выполняют настраиваемые преобразования из атрибута в атрибут и, скорее всего, быстрее доставят на рынок.
Посмотрите на инструменты ETL. Я не знаком с инструментами, доступными в сообществе открытого исходного кода, но если вы склонитесь в этом направлении, я уверен, что вы найдете некоторые. Другие инструменты, на которые вы можете обратить внимание: Informatica, Data Integrator, SQL Server Integration Services и, если вы имеете дело с пространственными данными, есть еще один, называемый Alteryx.
Тим