Ejemplo 2: "Cargando un archivo csv"

PROBLEMA:

Queremos ir desde Salamanca a Barcelona en coche realizando la distancia más corta. Para ello disponemos de la siguiente información:

Desde Salamanca a Valladolid hay 120 kilómetros y de Salamanca a Segovia hay 153 kilómetros. Valladolid a la La Rioja hay 264 kilómetros. Existe un punto intermedio entre La Rioja y Barcelona que está a 192 kilómetros de La Rioja y a 307 kilómetros de Barcelona, del cuál desconocemos su nombre. Segovia está a 167 kilómetros de algunas de estas ciudades, pero desconocemos cuál es. Segovia está tambien a 395 kilométros de Teruel y Teruel de Barcelona a 427 kilómetros.


SOLUCIÓN:

Comenzaremos creando nuestro archivo csv, donde introducimos nuestros datos de la siguiente forma:


Como podemos observar, la primera fila debemos introducir: "Nombre,Origen,Destino,Coste". Esto debemos hacerlo así siempre para nuestra aplicación.

Los datos los introducimos todos en una misma fila separando por comas nuestros diferentes tipos de datos. Como ejemplo, en la primera fila observamos "Salamanca,1,2,120".

Los datos que nos da el problema no están todos completos, es decir, por ejemplo nos habla de un lugar del que se desconoce el nombre, o de un camino de 167 km que parte en Segovia pero no sabemos su destino. Por tanto, estos datos los introducimos como NA en sus respectivas posiciones (entre sus correspondientes comas). Así indicaremos que ese dato está vacío.

Esta vez tenemos dieciseis caminos y siete ciudades, por ello nos al final de la lista de los nombres tenemos otro dato vacío.

Guardamos nuestro archivo .csv en un sitio sencillo de recordar y ponemos nuestra aplicación a funcionar.


Desde la aplicación abriremos el archivo creado de la siguiente forma:


Indicando el tipo de separador, que es una coma, al tratarse de un archivo .csv y cómo hemos distinguido nuestro punto decimal.


A continuación, vamos a la pestaña Datos, donde encontraremos nuestros datos y podremos revisar en caso de que alguno hubiésemos introducido mal y además veremos la posición que ocupa nuestro Origen y Destino. 

Como nuestro problema quiere ir de Salamanca a Barcelona tenemos que ocupan las posiciones 1 y 5 respectivamente. Colocando las posiciones en la correspondiente pestaña.


Revisamos nuestros datos por si hubiese algún error al escribirlo.

En caso de que exista una casilla mal escrita, buscamos la acción de Editar casilla e indicando la fila y columna que ocupa nuestra casilla errónea la cambiamos.


La aplicación se ejecuta automáticamente. Analizaremos los resultados obtenidos por la pestaña Resultados:


El coste total es 883.

Nuestro coste representa los kilómetros, entonces, para ir de  Salamanca a Barcelona realizaremos 883 km e iremos pasando por las ciudades indicadas (Salamanca -> Valladolid -> La Rioja -> Nodo_6  -> Barcelona). Vemos que el nodo_6 simboliza nuestra sexta posición en la lista de nombres, esta casilla se encontraba vacía debido a que no conocíamos el nombre de esta ciudad concreta.


A continuación, pulsamos en la pestaña Gráfico, y obtenemos representadas todas las ciudades posibles de nuestro recorrido con un círculo amarillo. Con un cuadro blanco se encuentran las ciudades de Salamanca y Barcelona, las cuales son nuestro Origen y Destino. 


Además con un camino de flechas rojas, nos indica cual es el camino que debemos seguir para minimizar kilómetros y por qué ciudades debemos pasar.

El nodo 6, no tenía nombre, debido a que no disponemos de este dato en nuestro problema. Por ello nos lo representa como "Nodo_6", siendo el número 6 la posición que ocupaba en la lista. De tal forma que en el caso de que tengamos más de un nodo sin nombre, nuestra aplicación los tratará como "Nodo_" seguido de la posición que ocupa en la lista.

También nuestro problema nos hablaba de que existía un camino desde Segovia de 192 km pero no sabíamos a que ciudad iba. Por tanto, este dato no nos aporta nada, ya que no nos termina de definir un camino concreto entre dos puntos. Esto hace que nuestra aplicación "ignore" esta información.


Last modified: Sunday, 24 June 2018, 8:43 PM