MySQL Importacion de Archivos tipo CSV (Solucionado)

Iniciado por AlbertoBSD, 15 Diciembre 2008, 17:39 PM

0 Miembros y 1 Visitante están viendo este tema.

AlbertoBSD

Bien, tengo unos 100 Archivos Importados de Acces en formato tipo csv, ya saben Separados por coma, Cadenas entre comillas,registros terminan con \r y la primera linea es el nombre de los campos. en fin el punto es que son muchos y lo he importado a MySQL con la siguiente Sentencia

Código (sql) [Seleccionar]
LOAD DATA INFILE '/mysql/ArchivoExportadoDeAcces.txt' INTO TABLE 1Sucursales FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r' IGNORE 1 LINES;

Ahora el problema es que los archivos siempre tienen al ultimo una Linea Vacia, y a la hora de hacer consultas me Aparecen NULL y cosas muy raras pasan cuando realizo multiples consultas o consultas anidadas, left Join etc..

Quiero saber si hay algun parametro mas que pueda Usar en el SQL para que evite esa linea o es necesario que programe un script para quitar esa linea de los archivos ?

Saludos y Gracias por su Atencion.

Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

AlbertoBSD

Bueno despues de seguir Buscando una solucion, ya la he encontrado :D Y Resulto ser una combinacion de ambos
Shellscript con SQL

Bien una forma de quitar rapidamente los \r del archivo txt del Access es la siguiente:

Código (bash) [Seleccionar]
tr -d \\r < ArchivoExportadoDeAcces.txt > ArchivoExportadoDeAcces.txt1

Lo anterior quita el \r que me generaba algunos errores y ademas quita la ultima Linea en blanco :D

Ahora solo modificamos la sentencia SQL por esto:

Código (sql) [Seleccionar]
LOAD DATA INFILE '/mysql/ArchivoExportadoDeAcces.txt1' INTO TABLE 1Sucursales FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES;

Note que solo cambiamos el \r por \n y tambien cambiamos el archivo de entrada

Espero y a alguien le sirva

Saludos.
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW