Cómo importar hojas de cálculo Excel ó CSV en una tabla MySQL
De entre los últimos marrones relacionados con CALIBRE, me ha caído uno relacionado con algunas bases de datos que nos han proporcionado. Todas excepto una nos las dieron en SQL. La excepción era una hoja de cálculo XLS de Micro$oft Excel.
Como necesitamos cruzar la información en estas bases de datos, había que volcar esta hoja de cálculo en una base de datos de MySQL (que es el gestor de bases de datos que solemos usar).
A continuación explico cómo me las he apañado: en primer lugar, usando OpenOffice.org exportamos el fichero XLS a formato CSV (valores separados por comas). Después creamos la base de datos donde vamos a volcar la información:
Después, creamos una tabla con la misma estructura que el fichero CVS; para ello entramos en mysql
En este caso, la tabla era la siguiente:
Una vez hecho esto, y todavía dentro de MySQL, ejecutamos:
Obviamente, tenéis que poner el fichero y el nombre de la tabla igual que las que habéis creado arriba ;-)
Tras esto, podemos volcar la base de datos a SQL, para guardar una copia de seguridad
Et voilà
Las gracias, a quien se curró esto :-P
Como necesitamos cruzar la información en estas bases de datos, había que volcar esta hoja de cálculo en una base de datos de MySQL (que es el gestor de bases de datos que solemos usar).
A continuación explico cómo me las he apañado: en primer lugar, usando OpenOffice.org exportamos el fichero XLS a formato CSV (valores separados por comas). Después creamos la base de datos donde vamos a volcar la información:
mysqladmin -u USER -p create DATABASE
Después, creamos una tabla con la misma estructura que el fichero CVS; para ello entramos en mysql
herraiz@arenales:~ $ mysql -u root floss-us-survey
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 39 to server version: 4.0.23_Debian-3ubuntu1-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
En este caso, la tabla era la siguiente:
mysql> CREATE TABLE `csv_import` (
`id_number` int(11) NOT NULL default '0',
`email` tinytext NOT NULL,
`major_project` tinytext NOT NULL,
`current_project` tinytext NOT NULL,
`first_project` tinytext NOT NULL,
`comments` text NOT NULL
) TYPE=MyISAM;
Una vez hecho esto, y todavía dentro de MySQL, ejecutamos:
load data local infile '~/Desktop/floss-us-survey.csv' into table csv_import fields terminated by ',' (id_number,email,major_project,current_project,
first_project,comments);
Obviamente, tenéis que poner el fichero y el nombre de la tabla igual que las que habéis creado arriba ;-)
Tras esto, podemos volcar la base de datos a SQL, para guardar una copia de seguridad
herraiz@arenales:~ $ mysqldump -u root floss-us-survey > floss-us-survey.sql
Et voilà
Las gracias, a quien se curró esto :-P
0 Comentarios:
Publicar un comentario
<< Página principal