Archive

Posts Tagged ‘csv’

csv to sqlite3 a real example

July 11th, 2008

CSV to SQLite3 a Real Example

Supongamos que tenemos una base de datos grande en formato CSV (delimitado por comas) y queremos importarla a un DBMS debemos primero crear la estructura de la tabla a la cual vamos a insertar los datos del archivo CSV, en mi caso use SQLite3:

sqlite> .separator ,
sqlite> .import ./importfile.csv test_table

Si hubieramos preferido MySQL:

mysql> LOAD DATA LOCAL INFILE ‘/importfile.csv’
-> INTO TABLE test_table
-> FIELDS TERMINATED BY ‘,’
-> LINES TERMINATED BY ‘\n’
-> (field1, filed2, field3);

Ojo si quieren usar la base de datos del código postal Mexicano en formato CSV, van a tener que usar VIM o su editor favorito para corregir algunas lineas que agregan comas de mas.

develop , ,

Excel Data

July 7th, 2008

Excel Data

caso #1 se migran los datos de excel a una base de datos la cual usa un sistema web

Supongamos que tenemos una empresa que tiene todos sus registros en archivos de excel (lo cual es común), se va a desarrollar una intranet y claro se requiere que esos datos estén en una base de datos (MySQL, MS SQL, SQlite, etc…) exportar archivos en formato csv (no me refiero a un control de versiones, sino a los archivo de excel) después un script de python, perl o bash nos crea la estructura de la base de datos con los inserts correspondientes y luego generamos nuestra interfaz vía web.

caso #2 Los datos no se requieren migrar, pero algunos datos se requieren para un web service ajeno a la empresa (puede ser para gobierno u otras instituciones)

Bueno existe un conjunto de clases llamado phpExcel el cual esta muy limitado en cuanto al tamaño del archivo de excel a leer. (lo digo por experiencia propia un archivo de 2.5 megas y con memory_limit del php.ini a 256M, etc…) Entonces usamos una macro de excel que nos genere solo un archivo el cual tenga solo los campos que vamos a requerir para el web service, incluso en el mismo macro podemos hacer que ejecute un script de batch (.bat) el cual suba el archivo via ftp a un server y el haga el trabajo de leer el xlsx o xls leer los campos necesarios generar el xml con esos campos y mandarlo al web service.

Por que no exportar a csv en este caso?
por que los empleados están acostumbrados a trabajar en el excel y al darle click al botón de una macro es la forma mas sencilla para ellos.

Nota: puede haber muchos tipos de casos solo puse los que de momento ando viviendo.

develop ,