Puoi dare un'occhiata a LOAD DATA INFILE in MySQL.
Potresti essere in grado di eseguire le manipolazioni una volta che i dati sono stati caricati in MySQL, invece di leggerli prima in PHP. Per prima cosa archivia i dati grezzi in una tabella temporanea utilizzando LOAD DATA INFILE, quindi trasforma i dati nella tabella di destinazione utilizzando un'istruzione come la seguente:
INSERT INTO targettable (x, y, z)
SELECT foo(x), bar(y), z
FROM temptable