CSV significa comma separated values (valores separados por comas) y es uno de los formatos más populares para la transmisión de datos.
Entra a una página dedicada al análisis de datos como Kaggle y lo más posible que es encuentres que todas sus bases de datos están en formato csv
.
Para qué se usan los archivos csv
El formato csv
es muy popular para exportar datos y crear respaldos que se puedan transportar de un sistema a otro. En ciencia de datos, todos los datos de entrenamiento o de prueba se toman de un archivo csv.
Digamos por ejemplo que tienes un blog y deseas exportar los datos de analítica del mismo para identificar los tópicos con mayor engagement. Estos datos están en una base de datos en SQL, pero es probable que tu equipo de marketing no sepa realizar queries en este lenguaje. Ahí es cuando el formato se vuelve extremadamente útil: simplemente exportas los datos y los empiezas a analizar en Excel, Python, R o tu programa favorito.
Hay tres razones principales por las que yo encontrado que este es el formato ideal para trabajar con datos si estás desarrollando modelos para enseñar o en un ambiente profesional: portabilidad entre plataformas, visualización y la estabilidad.
🧳Portabilidad entre plataformas
Los archivos csv
no son el formato más ligero en el que se pueden guardar los datos. Para ponerte en contexto, hay formatos como parquet
que son mucho más ligeros para guardar la información. La razón de esto es el formato de almacenamiento. Los archivos csv
son datos en columnas en un archivo de texto plano.
A pesar de ser de texto plano, los archivos csv
pesan un poco más que los archivos de Excel. Pero a diferencia de un archivo de Excel, no necesitas preocuparte por la plataforma en la que lo estás leyendo o el sistema operativo.
Los puedes leer y editar en Excel, pero también los cargas fácilmente con Python y R sin arriesgarte a perder información. Si deseas importar información a una base de datos en SQL, es un gran formato.
Cómo leer los archivos csv
Generalmente los sistemas operativos ponen a Excel como primera opción para abrir los archivos csv. En ocasiones es necesario especificar, pero por lo general sólo es necesario usar doble click. Además, los repositorios en Github generan una previsualización de las tablas en csv
bastante decente.
Cargar archivos csv en Python
Para abrir los archivos csv en Python, en cambio, es necesario usar la librería pandas
. El siguiente bloque es un ejemplo de cómo se vería una carga de un archivo csv
. Recuerda cambiar la ruta y el nombre del archivo por el que quieres importar.
import pandas as pd
ruta = "ruta/del/archivo.csv"
df = pd.read_csv(ruta)
print(df.head())
En la primera línea se importa el módulo pandas
, que contiene la función read_csv()
, especializada en la carga de los archivos csv. La segunda línea simplemente describe la ruta del archivo y se puede cargar directamente dentro de la función que se ejecuta en la tercera línea.
Al cargar la base de datos, la estamos asignando a un objeto con nombre df
. Este nombre es sólo una convención, tu puedes ponerle el nombre que tu quieras a tu base de datos. La última línea muestra en pantalla las primeras filas de la base de datos (su encabezado).
Cargar archivos csv en R
El proceso para cargar archivos csv en R es muy similar. R tiene una función por defecto que tiene este fin. El código se vería así
ruta <- "ruta/del/archivo.csv"
df <- read.csv(ruta)
print(head(df))
La lógica es la misma que en el código de Python. La primera línea marca una ruta que tu debes cambiar para que sea la ruta del archivo que desear cargar en tu computadora.
Al igual que en python, la segunda línea ejecuta una función que lee el archivo y guarda la base de datos en un objeto especial de tipo Data Frame.
En Excel
Cargar tus archivos csv
en Excel es extremadamente simple: sólo tienes que dar doble click al archivo y dejar que Excel lo abra. Sólo tienes que recordar algunos detalles:
- No le puedes dar formato. Si le pones color a tu archivo csv, letras en negritas o tamaños de letra, todos esos detalles se van a perder al grabar el archivo si lo vuelves a guardar como csv.
- No puedes hacer gráficos. De hecho no puedes hacer ninguna de las funciones especiales que tiene Excel. De la misma manera que con el formato, te tienes que asegurar de que estás cambiando el formato a tipo Excel para que se guarde todo lo que hagas que no sea trabajo directo en los datos.
🗿Estabilidad
De manera similar que con la portabilidad entre plataformas, con csv
no es necesario preocuparse por la versión del software que lo lee. Cuando hay actualizaciones de Excel, hay un riesgo de que algunos elementos no los lea la versión nueva del software. También podría desacomodar elementos y dejar tu archivo hecho un desastre.
En csv
esto no pasa. Como es un archivo de texto plano con tus datos, no hay información adicional que se genere a partir de imágenes o tablas dinámicas. Python y R se actualizan también constantemente, pero no importa las versiones que usen, tu archivo csv
es el mismo y se lee igual.
🔍Visualización
Una gran ventaja de los archivos csv
es que es relativamente fácil visualizarlos en forma de tabla. Los puedes abrir en Excel y comenzar a interpretarlos en esa forma ya familiar. O bien, si el archivo termina en un repositorio en GitHub, la página mostrará una previsualización muy buena del archivo.
Esto es a diferencia de formatos como un archivo JSON. Por eso es tan popular como una forma de exportar los datos, en particular cuando los va a trabajar personal de otras áreas en nuestra organización que tal vez no está tan familiarizada con archivos XML, JSON o bases de datos SQL.
⛔Desventajas de los archivos csv
Lo hemos mencionado: como son archivos en tablas columnares, los archivos csv
no son particularmente archivos pequeños. Esto quiere decir que si estás tratando de hacer almacenamiento masivo de datos, probablemente te interese buscar otra estructura diferente para la base de datos. Con csv
lo importante es la portabilidad entre sistemas y la capacidad de trabajarlos entre diferentes áreas.
Otro problema es que se trata de archivos que no te permiten incluir nada especial: no hay gráficas, no hay tablas dinámicas ni filtros ni funciones. Sólo es un archivo de texto plano con la información.