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

Importar datos de word a una BD

Estas en el tema de Importar datos de word a una BD en el foro de Bases de Datos General en Foros del Web. Gente, quisiera saber si es posible (y de ser posible como hacerlo) importar datos desde un archivo de texto en .doc hacia una base de ...
  #1 (permalink)  
Antiguo 03/02/2010, 01:15
 
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 14 años, 11 meses
Puntos: 0
Importar datos de word a una BD

Gente, quisiera saber si es posible (y de ser posible como hacerlo) importar datos desde un archivo de texto en .doc hacia una base de datos en mysql.
La cuestión es asi, tengo en el word una lista con mails a los cual tengo que mandarle un newsletter, todas las direcciones están separados por un salto de linea, es decir, un mail por renglón. En mi base de datos tengo 3 campos: ID, Nombres, E-Mail.
Solo necesito importar los mails, ya que no tengo los nombres.
¿Hay alguna forma de hacerlo y no comerme de subir una por una las 1200+ direcciones?

¡Saludos!
  #2 (permalink)  
Antiguo 03/02/2010, 01:42
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Importar datos de word a una BD

De word directamente creo que no pero de .txt si.

Cada base de datos tiene mecanimos propios, en general creo que se entienden bien con los fixeros .csv (coma separated values). En tu caso deberias guardar en formato texto la columna de mails, solo los mails, luego le cambias la extension por csv y ya tendras un archivo con un solo campo de datos....

Luego tendras que informarte de que mecanismo usa tu base de datos para importar .csv....

Quim
  #3 (permalink)  
Antiguo 03/02/2010, 11:26
 
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Importar datos de word a una BD

A ver... Ya hice mi archivo csv con el siguiente formato:
Puse valores null en el primer y segundo campo, porque en mi tabla de usuarios poseo 3 columnas: ID, Nombres, E-Mail, y deseo agregar solamente la dirección, con el auto-incremento de ID. (¿Hasta ahí voy bien?)

Luego busqué en Google soluciones a como insertar ficheros csv en MySql y el resultado que me pareció el mas acertado fué este:
Código PHP:
//Tabla Usuarios
//Campos => nombre, apellidos, delegacion, email//Conexión con las DB.
$cnx conexion ();

ini_set ('auto_detect_line_endings','1');

$fp fopen ("NuestroCSV.csv""r");

while (
$data fgetcsv ($fp1000";")){

$insertar="INSERT INTO usuarios (nombre,apellidos,delegacion,email)
VALUES ('"
.$data[0]."','".$data[1]."','".$data[2]."','".$data[3]."')";

mysql_query($insertar$cnx);

}

fclose($fp); 
¿Te parece que es la mejor opción para adaptar a mis necesidades?
  #4 (permalink)  
Antiguo 04/02/2010, 01:38
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Importar datos de word a una BD

Eso seria usando php, pero hay formas nativas de mysql

googuelando encontraras muchas qualquiera es buena...


busca "csv mysql" por ejemplo esto

Código MySQL:
Ver original
  1. LOAD DATA LOCAL INFILE '/importfile.csv'
  2. INTO TABLE test_table
  3. (field1, filed2, field3);


no entiendo esos \n (esto es salto de linea??), no pongas las otras columnas solo los emails.

En le sentencia insert into solo pon el campo del email


Código PHP:
Ver original
  1. $insertar="INSERT INTO usuarios (email)
  2. VALUES ('".$data[0]."')";

Esto dejara nulos los otros campos... deben permitir nulos claro.


Quim
  #5 (permalink)  
Antiguo 04/02/2010, 12:46
 
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Importar datos de word a una BD

Finalmente solucioné mi consulta de la siguiente manera:

Código PHP:
<?php
$cnx 
mysql_connect('PONER_SERVIDOR','PONER_USUARIO','PONER_CONTRASEÑA') or die('No se pudo conectar con la base de datos!');
mysql_select_db('PONER_BASE_DE_DATOS');

ini_set ('auto_detect_line_endings','1');

$fp fopen ("NUESTRO_ARCHIVO.csv""r");

while (
$data fgetcsv ($fp1000";")){

$insertar "INSERT INTO usuarios (email) VALUES ('".$data[0]."')";

mysql_query($insertar$cnx) or die (mysql_error());

}

fclose($fp);
?>
¡Muchas gracias por responder!

Etiquetas: bd, word
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 17:20.