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

domingo, 25 de mayo de 2014

Problemas más habituales en ficheros CSV (parte 3 - Juegos de caracteres y separador de valores)

Un problema que a veces he tenido es la existencia de caracteres extraños en el texto.

Esto puede ser debido a varias razones, pero principalmente suele ocurrir por la exportación desde una aplicación que no permita seleccionar la página de códigos a usar.

El caso más raro de esto es el propio Microsoft Excel, el cual no permite seleccionar la página de códigos, ni el separador de valores a usar.

En el caso concreto de Microsoft Office Excel, usa tanto la página de códigos como el separador de listas definidos en la configuración regional de Microsoft Windows.


Para solventar este problema, yo uso la aplicación Libre Office Calc, la cual sí permite la selección tanto de la página de códigos como del separador a usar.



Para ello, cuando se da a guardar el fichero en formato CSV, es preciso seleccionar la opción que indica "Editar configuración de filtros" (resaltado en rojo en la imagen).



Esto provocará la posible aparición de una ventana de confirmación.


Y tras esta, se nos permita seleccionar los datos deseados. 


Esta ventana permite la selección del conjunto de caracteres, pero también el delimitador de campos.

En cuanto al delimitador de campos, aclarar que se puede introducir cualquier carácter, no siendo necesario restringirse a las opciones mostradas.

Esta es una opción que echo de menos en mi trabajo diario con Microsoft Excel, y que sigo con la esperanza de que algún día sea incluida en el paquete ofimático de Microsoft.

En la próxima entrada hablaremos del delimitador de texto, y los problemas que nos pueden surgir con él.

lunes, 7 de abril de 2014

XP RIP, bienvenido Windows 7.

Una mala noticia para todos los que hemos convivido con el que, para muchos, ha sido el mejor sistema operativo de Microsoft.

Mañana nos abandona, al finalizar el período de soporte de Microsoft.

¿Qué significa esto? 

Pues sencillamente que Microsoft dejará de sacar actualizaciones de seguridad para el mismo, y se prevé un incremento del Malware (virus, troyanos, etc.) asociado a este sistema operativo.

Pero aunque se detecte una vulnerabilidad, en el sistema operativo, esta ya no será corregida, como se venía haciendo de forma mensual desde su aparición allá por el año 2001 (concretamente el 25 de Octubre).

¿Que opciones nos quedan?

En principio tres son las posibles opciones:


  • No hacer nada y mantenerse con esta versión, la cual seguirá funcionando, pero podría ser blanco de un mayor número de ataques malintencionados.
  • Actualizarnos a Windows 8 (la primera opción que propone Microsoft).
  • Finalmente, pasar por caja, (la segunda opción que propone Microsoft), contratando el servicio de pago de Custom Support a través de Microsoft Premier Support.

Que haría yo si fuese una empresa, pues ninguna de las tres.

Me actualizaría a Windows 8 y solicitaría un downgrade a Windows 7.

En estos enlaces Microsoft y PcWorld nos explican como realizarlo.

http://support.microsoft.com/kb/2832566

http://www.pcworld.com/article/2015107/downgrading-from-windows-8-to-7-what-you-need-to-know.html

domingo, 30 de marzo de 2014

Problemas más habituales en ficheros CSV (parte 2 - Tamaño)

Uno de los posibles problemas es el tamaño de los ficheros CSV.

No en cuanto al fichero en sí, pero sí a la hora de importarlos a hojas de cálculo, uno de los proceso que más a menudo se realizan.

Este caso afecta principalmente al programa Microsoft Excel.

En la versión 2007 de Microsoft Excel, se produjeron muchas novedades, casi todas eclipsadas, por la aparición de la cinta de opciones (Ribbon bar en inglés), en sustitución de las barras de herramientas, aunque las más importantes fueron otras, especialmente el tamaño máximo del fichero.





Mucha gente sigue usando el antiguo formato XLS, sin saber que este presentaba una limitación de tamaño de un máximo de 65536 filas, lo que puede provocar que en listados largos, parte de los datos no se importen.

Como ejemplo, os presento una simulación de un listado de artículos, en formato CSV, con 80121 líneas.



Al intentar abrir este fichero en un fichero xls, solo se importarán algo más de 65000 líneas, pero lo más importante de todo, es que no se muestra ningún tipo de error.


Esto sucede independientemente de que se use una versión de Microsoft Excel reciente, en este ejemplo con Excel 2007.




La solución a este problema es utilizar una aplicación y un formato de archivo que permitan una mayor cantidad de filas.

Entre las aplicaciones que cumplen estos criterios está Microsoft Excel 2007, 2010 o 2013, con archivos xlsx.



Otra opción es usar aplicaciones como Gnumeric o LibreOffice Calc, que ya soportaban este tamaño de archivo antes que Excel.



domingo, 23 de febrero de 2014

Problemas más habituales en ficheros CSV (parte 1)

Los ficheros CSV no son la panacea, si bien son una herramienta muy útil a la hora de intercambiar información, también tienen sus peros.

En esta entrada vamos a tratar dos de los problemas más habituales que pueden ocurrirnos con los ficheros CSV.

Los errores más habituales se refieren a dos tipos de datos, los datos numéricos con decimales (precios por ejemplo) y las fechas.

Otro posible error, se debe a la mala elección del separador de valores.

En primer lugar, analizaremos que puede suceder si elegimos mal el separador de caracteres, dejando para posteriores entradas el análisis de los demás casos.

Supongamos que tenemos un fichero como el siguiente, en el que se incluyen datos de unos productos, entre los que se puede encontrar la descripción, el precio neto y el PVP.


En este caso el error ha sido utilizar como separador de valores un carácter usado para representar información.

Al utilizar la coma como separador, que resulta ser el mismo carácter que se utilizar para indicar los valores decimales, será imposible diferenciar los valores correctamente a la hora de importarlos, por ejemplo en una hora de cálculo.




Como se ve el resultado de la importación, es un documento en el que aparecen más columnas de las deseadas, separando la parte entera y decimal de los valores en celdas adyacentes.

La forma más sencilla de evitar este problema es utilizar un elemento que se sepa a ciencia cierta que no aparece dentro del documento, como es el símbolo de la tubería | (pipe), que se puede escribir mediante la combinación de teclas AltGr + 1.

En nuestro caso el documento quedaría de la siguiente manera.


Eliminando de esta manera toda posible ambigüedad a la hora de realizar la importación.





domingo, 16 de febrero de 2014

Introducción al formato CSV

El formato CSV, comúnmente conocido como Valores Separados por Comas (Mala traducción), tal como se puede ver en la captura de pantalla de unos de los más conocidos programas de Hoja de Cálculo.



Una traducción más adecuada de su nombre, sería la que ofrece la misma Wikipedia, pero en su versión en inglés, en la que se define CSV como character-separated values, (Valores separados por caracteres).

Esto es así porque en este formato, los datos, (columnas) se separan mediante un carácter, y las filas mediante un cambio de línea.


Usualmente en el mundo angloparlante, se utilizaba como separador la coma, y en el hispano hablante el punto y coma (por utilizar la coma como separador decimal), aunque es posible utilizar cualquier otro carácter como separador.

De ahí que también se le conozca como Valores separados por punto y coma

Este formato es un sistema basado en ficheros de texto que permite el intercambio de información tabular entre distintos programas.

Es ampliamente utilizado para importar y exportar datos entre Hojas de cálculo y Bases de Datos.

Dada su simplicidad, y el ser soportado por todo tipo de Sistemas Operativos, es, quizás, la forma más segura de transferir información.

Sin embargo presenta inconvenientes a la hora de transferir datos numéricos con decimales, entre sistemas que utilicen el sistema de numeración anglosajón y el hispano, debido al distinto uso que se realiza de los puntos y las comas.

Al ser un fichero de texto plano, es el usuario a lo hora de importar el que debe indicar en que formato están los datos, y de equivocarse puede provocar una mala importación de los mismos.

Imaginemos el siguiente fichero, ¿que problemas nos encontraremos a la hora de importar los datos?

¿Cuál podría ser la solución?


La próxima semana, más información sobre este formato tan útil, y como evitar los errores más frecuentes a la hora de utilizarlo.

Si te ha gustado, comenta, comparte y no dudes en preguntar si tienes dudas.

domingo, 9 de febrero de 2014

Eliminando espacios indeseados.

Hoy os traigo una nueva aplicación de la herramienta Reemplazar.

En este caso se trata de eliminar los espacios repetitivos que aparecen a veces en los documentos.

Suele ser habitual al trabajar con documentos obtenidos mediante un proceso de Reconocimiento óptico de caracteres (OCR, Optical character recognition).

El proceso es muy sencillo, y se puede ver en el siguiente vídeo.



El proceso detallado es el siguiente:

Paso 1 - Se abre el texto en cualquier aplicación que permita utilizar la orden Reemplazar (en el caso del ejemplo se ha usado el Bloc de Notas, o Notepad de Microsoft Windows).



Paso 2 - Se ejecuta la orden Reemplazar, normalmente desde el menú Edición, o también mediante la combinación de teclas CTRL + R.



Paso 3 - Luego se indica que se desean sustituir dos espacios (pulsando dos veces la barra espaciadora), por un espacio, (pulsando una única vez la barra espaciadora).



Paso 4 - Este proceso se repite las veces necesarias hasta que no se realice ningún cambio, lo que indica que ya no existe ningún grupo de dos espacios consecutivos.