De estructura jerárquica a tabla plana
JSON y CSV resuelven problemas distintos. JSON es ideal para datos jerárquicos: objetos dentro de objetos, listas, valores nullables. CSV es plano por definición: cada fila tiene los mismos campos, sin profundidad. Convertir de JSON a CSV implica aceptar una pérdida controlada de estructura: las anidaciones se aplastan o se serializan como strings.
Qué espera este conversor
El input tiene que ser un array de objetos donde cada objeto representa una fila. Las claves del primer objeto definen las columnas del CSV (los headers). Si un objeto posterior tiene una clave que no estaba en el primero, queda fuera. Si le falta una clave, esa celda queda vacía. Para datasets muy heterogéneos, conviene normalizar antes con un script que garantice las mismas claves en todos los registros.
El estándar RFC 4180
- Cada fila termina con CRLF (aunque LF también es aceptado por la mayoría de parsers).
- Si un campo contiene la coma separadora, se envuelve entre comillas dobles.
- Si un campo contiene comillas dobles, se duplican:
"ella dijo ""hola""". - Si un campo contiene saltos de línea, también se envuelve entre comillas.
- El primer registro puede ser una fila de headers (recomendado).
Separadores: coma, punto y coma, tab
Aunque CSV significa "comma-separated values", en la práctica el separador depende del contexto. En países donde la coma es el separador decimal (España, Argentina, Alemania), Excel usa punto y coma por default para evitar conflictos. Si tu CSV se va a abrir en Excel español, usá ;. Si lo vas a procesar con pandas o cargar a una base de datos, la coma es el estándar. El TSV (tab-separated) es la opción más segura cuando tenés contenido con muchas comas.
Casos de uso comunes
- Migrar datos de una API a Excel. Un cliente pide ver los pedidos del mes; sacás la query de la API en JSON, los convertís a CSV y los abrís en Sheets.
- Cargar datos a herramientas que no leen JSON. Mailchimp, HubSpot, Salesforce y muchos otros prefieren importar CSV.
- Backup human-readable. Un CSV de tu base de datos es más fácil de auditar a ojo que un dump JSON gigante.
- Análisis con pandas o R. Aunque ambos leen JSON, las funciones nativas de CSV son más rápidas.
Limitaciones a tener en cuenta
- Valores anidados (objetos, arrays) se serializan como JSON dentro de la celda. Si tu consumidor no espera eso, va a leer texto literal en lugar de estructura.
- Tipos se pierden: todo es string en CSV. Un
trueJSON se vuelve la cadena"true". - Las fechas dependen del formato original. Si en JSON las guardaste como ISO (
2026-04-26T10:00:00Z), en CSV quedan así. - El orden de columnas se determina por el primer objeto. Si querés un orden específico, ordená las claves antes de exportar.
Tips de productividad
Si vas a abrir el CSV en Excel y tenés caracteres no ASCII (tildes, ñ), guardá con BOM UTF-8 al principio para que Excel detecte el encoding correctamente. Si vas a importar a una base de datos, considerá usar el separador | (pipe) en datasets donde haya muchas comas y comillas: simplifica mucho el parsing manual.