domingo, 24 de febrero de 2019

Por qué no abrir un csv directamente con excel


Cuando se usa un csv separado por caracteres, se debe tener especial  cuidado a la hora de abrirlo con excel para evitar la pérdida de datos.

Esto se produce en el  caso de que en los campos se use el separador de listas por defecto de windows, el cual para castellano es el punto y coma.

Si se abre un csv que incluya algún punto y coma, excel entenderá que queremos separarlo en columnas y lo hará sin consultarnos.

A la hora de proceder a separar los datos por el separador que indiquemos, vamos a provocar la sobreescritura de los datos ya separados por Excel en el momento de la apertura del fichero.

Para el ejemplo vamos a usar este fichero de texto, separado por pipes, destacar que el libro de la fila 3 tiene dos autores, lo que será el origen de nuestros problemas:

titulo|autores|precio
El Quijote|Miguel de Cervantes|22,99
Mi libro|Yo mismo; Mi amigo|5.99
Otro libro|Otro autor|24.99



Abrimos nuestro csv con el botón derecho seleccionando "Abrir con" y luego Excel



Al abrir, a priori no se nota nada rato.



Pero si ampliamos el ancho de las columnas, comprobaremos que sin habernos solicitado permiso, excel ha localizado un punto y coma en la línea 3 y ya ha separado los datos.





Siguiendo el proceso habitual y si no nos hemos dado cuenta de esta separación, procedemos a separar los datos por pipes.

En el momento de indicar el separador, puede que notemos como que en el archivo original faltasen datos (en realidad, lo que pasa es que solo está aplicando la opción "Texto en columnas" a la columna A, con lo que el resto de los datos no los tiene en cuenta.




Luego viene un mensaje de advertencia, indicando que "Aquí hay datos" que es el indicativo de que en las columnas en las que se van a separar los datos, ya hay algo escrito.

Pero como es habitual pasaremos por alto.



Esto conducirá al resultado que muestro en la siguiente captura, y que se suele achacar a falta de datos en los ficheros originales.

Como se puede comprobar la casilla C3 se encuentra vacía, a pesar de que en el fichero original si que había datos.



El proceso completo en vídeo.



En un próximo post veremos como abrir correctamente estes ficheros tanto con Microsoft Excel como con Libreoffice Calc