[LUG.ro] sql importar csv
Sebastian Dominguez
sebaminguez en gmail.com
Vie Mar 6 16:18:59 ART 2009
Juan Pablo Villalba-A favor del Open Source escribió:
> hola
> Les comento que me estoy iniciando en el mundo PHP+MYSQL y necesito
> automatizar una tarea en el servidor.lo que necesito puntualmente es lo
> siguiente: que cada 6 hs se importe un archivo *.csv a una base de datos en
> mysql.estuve googleando y buscando info, sobre si existe en el lenguaje sql
> algo que importe archivos y no encontre nada...la automatizacion deberia
> hacerla con crontab? Gracias
>
Vi que te pasaron un script en ruby. Tambien veo que hablas de PHP+SQL.
Porque no intentas mas o menos lo mismo con PHP.
Un for que recorra linea a linea el archivo (fgets)
|<?php
$gestor = @fopen("/tmp/archivo_entrada.txt", "r");
if ($gestor) {
while (!feof($gestor)) {
$bufer = fgets($gestor, 4096);
echo $bufer;
}
fclose ($gestor);
}
?> |
con explode separas los campos por el ; y le das el INSERT en la DB. (en
lugar de hacer el echo $bufer
Recomiendo que no utilices file() o similares que cargan todo el archivo
en un arreglo porque esto significa cargar el archivo en memoria y,
sobre todo en tu caso, podes encontrarte con archivos tan grande que no
te alcance la memoria para manejarlos.
Si necesitas mas ayuda avisá.
--
Seba Dominguez
Más información sobre la lista de distribución Lugro