Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Crear CSV para luego importar a MySLQ

Estas en el tema de Crear CSV para luego importar a MySLQ en el foro de Mysql en Foros del Web. Hola compañeros, espero que me podais ayudar, ando algo liado, os cuento: Tengo muchisimos datos que pasar a una tabla, son almenos 200 registros que ...
  #1 (permalink)  
Antiguo 15/05/2011, 18:24
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 15 años, 9 meses
Puntos: 6
Crear CSV para luego importar a MySLQ

Hola compañeros, espero que me podais ayudar, ando algo liado, os cuento:

Tengo muchisimos datos que pasar a una tabla, son almenos 200 registros que insertar, ir 1 a 1 me mataria y seria muy costoso y poco factible, he oido comentar algo de crear un csv e importar pero me salen dudas y mysql me inserta un monton de registros vacios con el id correcto auto incrementado pero el resto vacio

Tengo una tabla llamada cruceros con 4 campos "id_crucero,id_barco,puerto,fecha", el id_crucero es un campo int(11) auto_increment como dije antes

No se como crear el csv, pongo el id_crucero? cada campo separado por comas? un dato por celda? por ejemplo
A1= 1,1,1,2011-05-16
B1= 2,2,2,2011-05-17
etc...?

Igual soy muy novato lo he intentado como dije anteriormente con esta sentencia sql:

load data infile 'cruceros.csv' into table cruceros fields terminated by ',' enclosed by '"' lines terminated by '\r\n';

Pero me ha creado un monton de registros vacios solo con el id_crucero correcto por que es auto_increment.

Alguien podria pasarme un csv con dos datos solo de ejemplo de como seria para yo poder seguir añadiendo o decirme como hacerlo? lo he intentado de verdad pero no puedo. Muchas gracias amigos
  #2 (permalink)  
Antiguo 16/05/2011, 01:32
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años
Puntos: 574
Respuesta: Crear CSV para luego importar a MySLQ

El csv es lo que as puesto
1,1,1,2011-05-16
2,2,2,2011-05-17

no se que significa A1= B1=

Si usas una hoja de calculo pon un dato por celda y un registro por fila... guarda en formato csv y te funcionará....

....A..B..C..D
1..1..1..1..2011-05-16
2..2..2..2..2011-05-17


Manual
fields terminated by ',' enclosed by '' lines terminated by '\r\n';

Recuerda resetear el auto increment despues de cada intento fallido....

ALTER TABLE tbl AUTO_INCREMENT = 1;
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 16/05/2011, 04:00
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: Crear CSV para luego importar a MySLQ

Hey muchas gracias quim, ahora parece que almenos los registros son correctos en numero...Pero me sigue insertando los campos con 0, solo el auto increment es correcto, estoy haciendo tal como me comentaste un valor por celda y un registro por fila de tal modo



Algo estoy haciendo mal?

Última edición por cronosmen; 16/05/2011 a las 04:06
  #4 (permalink)  
Antiguo 16/05/2011, 05:10
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años
Puntos: 574
Respuesta: Crear CSV para luego importar a MySLQ

Tienes la tabla bien definida... el numero de campos de la tabla coincide con los del csv...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #5 (permalink)  
Antiguo 16/05/2011, 05:33
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: Crear CSV para luego importar a MySLQ

sin embargo me lo crea asi:



si ayuda esta es la estructura de la tabla



Ojala pueder ver si algo falla
  #6 (permalink)  
Antiguo 16/05/2011, 05:40
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Crear CSV para luego importar a MySLQ

Asegúrate que no haya ningún salto de línea al final del último dato del CSV.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 16/05/2011, 06:13
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: Crear CSV para luego importar a MySLQ

nada, no me lo crea bien, he mirado y no hay saltos de linea, al ser celdas si hay salto de linea se pasa a la siguiente fila, igual debo probar con otro caracter para definir el termino de linea? en vez de \r\n poner ; o no se, por que el numero de filas los coge bien hay dos filas e inserta dos registros pero mal como habeis visto.
  #8 (permalink)  
Antiguo 16/05/2011, 06:27
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Crear CSV para luego importar a MySLQ

¿Podrías postear el contenido del CSV para ver cómo está armado? Tal vez haya algo que no se vea a simple vista y que cause problemas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 16/05/2011, 06:41
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: Crear CSV para luego importar a MySLQ

Si claro, es este :

4 2 4 17/05/2011
5 1 5 25/05/2011

He seleccionado las celdas y copiado directamente, en un post de arriba esta la captura tal cual está.
  #10 (permalink)  
Antiguo 16/05/2011, 06:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Crear CSV para luego importar a MySLQ

¿Copiado las celdas desde Excel?
No sirve, no nos muestra exactamente lo mismo que tiene el CSV, aunque lo creas. Lo que te pedí es que copies el CSV generado. Ese es el que vas a usar y es el que hay que revisar.
Excel le agrega o saca cosas al CSV según algunos parámetros.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 16/05/2011, 07:05
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años
Puntos: 574
Respuesta: Crear CSV para luego importar a MySLQ

El fichero .csv no es mas que un fichero de texto plano que puedes abrir con cualquier editor... de texto. Es posible que telo abra el excel automaticamente pero eso no nos sirve.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #12 (permalink)  
Antiguo 16/05/2011, 07:28
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: Crear CSV para luego importar a MySLQ

entonces ese es el error? yo abro excel pongo esto y guardo en formato csv, me da un error de que contiene caracteres no compatibles pero lo guarda bien solo me pregunta que quiero hacer, si mantener esos caracteres o arreglarlos.
  #13 (permalink)  
Antiguo 16/05/2011, 07:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Crear CSV para luego importar a MySLQ

Tal vez sea el error. Si no posteas el contenido de ese CSV no podemos estar seguros.
¿Hay alguna razón por la que no quieras postear el contenido de ese archivo? Porque seguimos dando vueltas alrededor de algo que no podemos precisar sin una muestra exacta de lo que parece generar el error....
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #14 (permalink)  
Antiguo 16/05/2011, 07:44
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: Crear CSV para luego importar a MySLQ

Esque yo no se que archivo es... yo simplemente abro excel pongo lo que dije anterior mente y guardo en formato csv y lo meto en el directorio de mysql donde esta los datos de my base de datos, y el contenido de ese csv ya lo postee es este:

4 2 4 17/05/2011
5 1 5 25/05/2011

Entonces no se a que os refereis , soy bastante novato y tonto losiento, espero que no esteis perdiendo el tiempo conmigo. Yo creo el csv manualmente desde excel, no lo genero con php ni nada por el estilo
  #15 (permalink)  
Antiguo 16/05/2011, 07:47
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: Crear CSV para luego importar a MySLQ

Lo he abierto con notepad++ y me sale esto:

4;2;4;17/05/2011;
5;1;5;25/05/2011;
  #16 (permalink)  
Antiguo 16/05/2011, 08:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Crear CSV para luego importar a MySLQ

Bueno, por lo que se ve, puede haber algunos conflictos de formato:
- Si las fechas quedan en esa forma, puede que lo las esté interpretando bien, porque el formato esperado es aaaa-mm.dd, y no dd/mm/aaaa.
- Hay un ";" final que no debería estar. Eso puede ser creado por Excel al momento de encontrar una columna usada al final, y que esté vacía.
- Los datos no están siendo separados por "," sino por ";", que no es lo mismo. Eso significa que la consulta de carga debería llevar:
pero por sobre todo habría que asegurarse de que las fechas estén bien formateadas en ese CVS.
Por otro lado, trata de verificar al abrirlo en el Notepad, si existen o no líneas vacías al final (no son raras), porque eso podría generar errores, y Excel puede hacer ese tipo de basura sin que lo notes.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #17 (permalink)  
Antiguo 16/05/2011, 08:44
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: Crear CSV para luego importar a MySLQ

Genial con FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n'; Ha funcionado, pero como dices hay algun error en la fecha por que me la inserta vacia sera por que la fecha debe ir formateada con aaa-mn-dd. pero como puedo formatearla? en excel directamente ? bueno, creo que me auto-respondo, seria añadir todos los datos, luego seleccionad la columna tipo de formato y formatearlo personaliado asi: aaaa-mm-dd

Cierto?
  #18 (permalink)  
Antiguo 16/05/2011, 09:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Crear CSV para luego importar a MySLQ

SI no me equivoco, si.
Pruébalo y nos comentas.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #19 (permalink)  
Antiguo 16/05/2011, 19:07
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: Crear CSV para luego importar a MySLQ

Solucionado, funciona perfecto. si eres de valencia te debo un almuerzo, alfinal habra que hacer quedada por que debo ya muchos almuerzos por aqui jaja. MIL GRACIAS
  #20 (permalink)  
Antiguo 16/05/2011, 20:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Crear CSV para luego importar a MySLQ

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: csv
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:47.