De plano a estructurado
CSV es el formato de intercambio de datos más antiguo de la web. Excel exporta a CSV, las APIs viejas a veces solo aceptan CSV, y muchos analistas prefieren CSV porque lo abren al instante en Sheets o Excel. Pero cuando esos datos tienen que entrar a una app moderna, una API REST o un script de Node, JSON es lo natural. Este conversor hace ese puente con un parser que respeta las reglas del RFC 4180.
El parser respeta estas reglas
- La primera fila se interpreta como headers (las claves del JSON resultante).
- Los valores entre comillas dobles pueden contener el separador, comillas escapadas (
"") y saltos de línea. - Espacios en blanco al inicio o final del valor se preservan (no se trimean).
- Filas vacías se ignoran.
Detección automática de tipos
Por default, el conversor inspecciona cada celda y trata de inferir el tipo:
- Números:
42,3.14,-7, notación científica (1e6). - Booleanos:
trueyfalseen minúscula. - Null:
nullexacto, también celda vacía. - Strings: todo lo demás, incluyendo fechas (que quedan como strings ISO).
Si tu CSV tiene códigos postales que empiezan con cero (05000) o IDs de SKU que parecen números pero deberían ser strings, desactivá la detección de tipos. Si no, perdés ceros a la izquierda y se rompe la integridad.
Casos de uso
- Importar datos a una app. Convertís el CSV exportado del cliente a JSON y lo cargás directo a tu base de datos vía API.
- Migrar de Excel a un CMS. Sheets exporta CSV, tu CMS espera JSON.
- Procesar con JavaScript en el browser. Una vez convertido, podés filtrar, mapear y reducir con métodos de Array sin tocar parsers externos.
- Pegar a un endpoint REST. Muchas APIs aceptan POST con JSON; conviene tener el formato listo antes de mandarlo.
Errores comunes al convertir
- Separador equivocado. Si elegís coma pero tu CSV usa punto y coma, todas las filas quedan en una sola columna.
- Encoding incorrecto. Si tu CSV viene en Latin-1 (ISO-8859-1) y lo pegás como UTF-8, las tildes se rompen. Convertir el archivo a UTF-8 antes resuelve.
- Comillas inconsistentes. CSVs generados a mano a veces mezclan comillas simples y dobles, lo que confunde al parser.
- Headers duplicados. Si dos columnas se llaman igual, en JSON solo queda una (las claves de un objeto son únicas).
Tips de validación
Después de convertir, miralo: JSON.parse en consola y console.table() te muestra una vista tabular instantánea. Si los tipos no son los que esperás, ajustá el flag de detección. Si una columna que esperabas como número quedó como string, probablemente tiene caracteres no numéricos (espacios, símbolo de moneda) que el parser detectó.