Ficheros csv con las hojas de cálculo

(Revisado el 2013-06-25)

Un fichero csv (comma separated values) es, como su nombra en inglés indica, un fichero con un tabla de datos, agrupados en campos (o variables), de manera que:

  • cada fila de la tabla de datos se corresponde con una línea del fichero, y
  • cada uno de los valores de los campos en esa fila está separado de los demás por comas (o algún otro símbolo preestablecido).

Vamos a intentar aclarar todo esto con un ejemplo. Imagínate que tienes una agenda donde están almacenados los nombres de los empleados de una empresa, la fecha de su cumpleaños, y su antigüedad en años en la empresa. Podrías tener una tabla como esta:

Esa tabla se almacenaría en un fichero csv con seis filas, como este (la primera es la fila de títulos, con los nombres de los campos o variables):

Nombre, cumpleaños, antigüedad
Gema,17-03, 8
Luis,12-07, 5
Marcos, 4-09, 2
Elena, 8-04, 3
Daniel, 6-11, 3

Vamos a llamar empleados.csv a ese fichero (puedes usar el enlace para descargarlo). La mayor virtud (y a la vez la mayor limitación) de los ficheros csv es su sencillez. Un csv no contiene nada más que los datos, sin añadir ninguna información, formato o cualquier otrta característica específica de un determinado software. Por lo tanto el fichero csv es un candidato  natural a convertirse en el típico fichero de intercambio que se utiliza para mover los datos desde la hoja de cálculo a otro programa (como R, por ejemplo, si vamos a hacer análisis estadísticos de estos datos).

El principal patrimonio de un fichero csv, por tanto, es su carencia de formatos, y para aprovecharlo debemos tener cuidado de manipularlo con programas que no le añadan formatos que echarían a perder sus propiedades. Por esa razón muchas veces manipulamos los ficheros csv con editores de texto, en lugar de usar procesadores de texto o algún otro tipo de software. Si no conoces la diferencia entre editores y procesadores de texto, simplificando mucho podemos decir que un procesador de texto es una aplicación como Microsoft Word o como OpenOffice Writer , que permiten crear documentos con mucha estructura y formato (negritas, cursiva, subrayados, inclusión de imágenes, distintos tamaños de letra y tipografías distintas, etc.).  Por el contrario un editor de texto trabaja sobre lo que llamaremos «texto plano», sin formatos de esa clase.

Windows incluye en todas sus versiones un editor de texto muy sencillo, el Bloc de Notas, que voy a usar para ilustrar esta entrada. En Mac creo que se puede usar TextEdit, pero hay que seleccionar la pestaña Formato y y elegir Convertir en texto normal; pero tened en cuenta que yo no uso Mac, así que tal vez haya soluciones mejores. SI eres usuario de Linux, seguramente ya estás (más que) familiarizado con algún editor de texto plano.
Abrimos el fichero empleados.csv  con el Bloc de Notas de Windows, y veremos algo como esto:

Como puedes ver, el fichero contiene los datos de la tabla y nada más que los datos de la tabla.

Las hojas de cálculo pueden abrir estos ficheros csv. La palabra correcta, más que abrir, es Importar porque la hoja de cálculo traduce el fichero csv a su propio formato al abrirlo. Este mecanismo de traducción es más o menos automático (o explícito) dependiendo de la hoja de cálculo que usemos, así que vamos a ver cómo funciona en Calc y en Excel.

Importando un fichero csv  en Calc

Si le pedimos a Calc (en Open Office o Libre Office) que abra el fichero, nos encontraremos con un cuadro de diálogo como este

Lo primero en lo que hay que fijarse es que Calc no ha entendido cómo se separan los datos, de modo que cada fila del fichero ocupa una única celda de Calc. Pero el remedio es sencillo: en ese cuadro de diálogo podemos marcar las casillas que le indican a Calc cuál es el símbolo que se utiliza para separar los datos. Muchas veces seran comas, pero en ocasiones nos encontraremos con ficheros en lo que se han usado otros símbolos, espacios, tabuladores, etc. Nosotros, en este ejemplo, marcamos la casilla coma, y obtenemos esto

Ya casi está listo. Te habrás fijado en que hay caracteres extraños en la primera fila, la que contiene los nombres de las variables. A veces hay que jugar un poco con el Conjunto de caracteres que aparece en este cuadro de diálogo. Para nosotros, normalmente el ajuste Europa occidental, o el UTF-8 deberían funcionar. Y en ejemplos como este, donde eso no afecta a demasiadas celdas, siempre lo podemos corregir a mano después.

Cuando estamos satisfechos pulsamos Aceptar y ya está:

tenemos los datos en Calc. Cuando hayamos hecho operaciones con ellos llegará el momento de guardarlos. Por ejemplo, podemos calcular la antigüedad media de los empleados. SI hacemos esto, y después tratamos de guardar el fichero, Calc detecta que el fichero incorpora modificaciones, que no sabe como guardar en un fichero csv y nos  presenta esta advertencia:
Si aquí elegimos seguir usando el formato csv seguramente perderemos todo el trabajo que hayamos hecho en Calc con los datos (cálculos estadísticos, gráficos, etc.). Para evitar eso, elegiríamo el formato ODF propio de Calc, y guardaríamos el trabajo en un fichero distinto del csv original (por ejemplo este fichero empleados.ods en el que hemos añadido el cálculo de la antigüedad media y un gráfico).

Importando un fichero csv  en Excel

Con Excel 2010 las cosas son parecidas, pero un poco más complicadas. Si le pedimos a Excel que abra el fichero directamente, lo hará sin preguntarnos nada, pero como puede verse, el resultado no será el esperado

Para conseguir lo que queremos, abrimos Excel 2010, y en el menú Archivo elegimos la opción Desde texto

A continuación se abre un cuadro de diálogo en el que localizamos el archivo, y en el que debemos pulsar sobre la opción Importar. Esto hace que Excel abra un asistente de importación que nos irá guiando a través de varios diálogos, con opciones similares a las que hemos visto para Calc.

Gracias por la atención.

1 comentario en “Ficheros csv con las hojas de cálculo

  1. Pingback: Cuarta sesión con Rcmdr: manejo elemental de datos almacenados en ficheros de texto (tipo csv) | PostData

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s