MongoWeather: Carga de la información

El siguiente paso para poder procesar los datos de la estación meteorológica con mongoDB, después de tener instalada la infraestructura, es proceder a cargar los datos.

El programa de la estación meteorológica permite exportar los datos en formato CSV, es decir separado por comas. Y este formato es soportado por la utilidad de importación de mongoDB.

Con lo que tan solo con un comando debiera de ser suficiente:

mongoimport -d weather -c weather –type csv –file ./EasyWeather.csv –headerline

Con esto le decimos que importe los datos en la base de datos weather y la coleccion es también weather. Así mismo le decimos que el formato es csv, que la primera línea tiene el nombre de los campos y cual es el fichero que queremos importar.

Con esta información nos importará los datos, pero…

Vemos que hay ciertos datos que no los ha importado correctamente.
Podríamos modificarlos en origen con algún conjuro (sed -e ‘s/ /g’ o similar) de Linux, pero vamos a darle una solución con mongoDB.
Esta solución se basa en un cursor, que recorre todos los registros y los va modificando para convertir los String en fechas.
El script es este (está también disponible en la página de GitHub):
Con este cursor creamos un string con el formato adecuado y con el creamos el objeto Date para que mongoDB lo gestione como lo que es.
Seguimos teniendo otro problema, y es que cuando no existen datos la exportación del programa de la estación meteorológica pone un texto «—«. Pero como es una substitución simple, podemos hacerlo con una update más sencilla