mysqlimport cmdline-tool tem suporte para importar arquivos csv, e IIRC suporta mapeamento de diferentes colunas em csv em diferentes colunas em sua tabela.
http://linux.die.net/man/1/mysqlimport
Percebo que é apenas um wrapper de linha cmd para a instrução sql LOAD DATA INFILE, que pode ser usada.
Se você precisar reorganizar os dados, basta importar o csv flat para uma tabela equivalente e, a partir daí, inserir ... select from