# CSV

> Un archivo de texto que guarda una tabla: una fila por línea, comas entre valores.

- Nivel: Básico
- Temas: Datos
- URL: https://tidbit.legios.com.ar/es/csv/
- En inglés: [CSV](https://tidbit.legios.com.ar/csv/)

Un archivo **CSV** (comma-separated values, valores separados por comas) es la forma más simple de escribir una tabla. Cada línea es una fila, y dentro de una línea los valores van separados por comas; la primera línea suele tener los nombres de las columnas. Como es texto plano, cualquier programa lo puede leer: una planilla, una base de datos, un script, hasta un editor de texto.

Uno chiquito se ve así: `nombre,ciudad,edad` en la primera línea, después `Ana,Rosario,34` y `Luis,Salta,29`. Cuando un valor tiene una coma adentro, va entre comillas dobles (`"Buenos Aires, AR"`). No hay una única versión oficial, así que los detalles cambian: muchas planillas configuradas en castellano usan punto y coma, porque ahí la coma es el separador decimal, y los acentos salen rotos cuando el archivo no se guardó en UTF-8.

CSV es el botón de exportar universal: bancos, CRMs, portales de datos abiertos y herramientas de análisis lo ofrecen, y suele ser el primer paso para pasar datos de un sistema a otro. Su debilidad es que no tiene tipos: el archivo no dice si `03/04` es una fecha, una fracción o texto, así que cada programa tiene que adivinar. Para datasets grandes de análisis, formatos como Parquet ocupan mucho menos y se leen mucho más rápido.

## Una analogía

Una lista del súper escrita con un producto por renglón y la cantidad después de una coma. Cualquiera la lee y cualquiera la escribe, pero nada impide que alguien ponga 'unos cuantos' donde iba un número.

## Para quedarse

- Una fila por línea, valores separados por comas, nombres de columnas en la primera línea.
- Texto plano: cualquier planilla, base de datos o lenguaje de programación lo abre.
- No tiene tipos, así que fechas y números quedan sujetos a interpretación.
- Los separadores y las codificaciones varían; si los acentos se ven rotos, fijate que sea UTF-8.

## Para seguir leyendo

- [Valores separados por comas en Wikipedia](https://es.wikipedia.org/wiki/Valores_separados_por_comas)
- [RFC 4180, el formato CSV común (en inglés)](https://www.rfc-editor.org/rfc/rfc4180)

## Términos relacionados

- [Planilla vs base de datos](https://tidbit.legios.com.ar/es/spreadsheet-vs-database/): Por qué una empresa que vive en Excel termina necesitando una base de datos de verdad.
- [Base de datos](https://tidbit.legios.com.ar/es/database/): Un depósito ordenado de datos que los programas consultan y actualizan sin riesgo.
- [Unicode](https://tidbit.legios.com.ar/es/unicode/): La numeración universal de cada letra y símbolo, y por qué a veces se rompen los acentos.
- [Parquet](https://tidbit.legios.com.ar/es/parquet/): Un formato que guarda tablas por columna y comprimidas, para que analizar lea mucho menos.
- [Lenguaje de programación](https://tidbit.legios.com.ar/es/programming-language/): Un idioma escrito y preciso que usamos para darle instrucciones a una computadora.
