Todas las guías

Pasar de un CSV a JSON sin perder datos

Publicado el · Actualizado el 2 min de lectura

Un archivo CSV es una tabla escrita en texto, una línea por registro, con las columnas separadas por un carácter. El JSON es otra manera de escribir datos, más práctica para los programas y los sitios. Convertir de uno a otro parece sencillo, pero cuatro detalles hacen perder o deformar datos con frecuencia.

El separador

En un CSV, las columnas se separan con una coma o, muy a menudo en Francia, con un punto y coma. La razón está en los números: en francés se escribe 24,5 con coma, que por tanto no puede servir para separar columnas. La herramienta reconoce ambos separadores, de modo que un archivo guardado desde una hoja de cálculo francesa se lee bien, con 24,5 en una sola columna.

Las comillas

Cuando un valor contiene el propio separador, se escribe entre comillas, por ejemplo «riego: mañana, tarde». La herramienta conserva entonces ese valor de una pieza. Si el texto contiene a su vez comillas, estas se duplican en el CSV y se convierten en comillas escapadas en el JSON, por ejemplo «zona "norte"».

Los números

Todos los valores llegan como texto en el JSON, números incluidos: 18 pasa a ser "18" y 24,5 pasa a ser "24,5". Es el punto que conviene conocer si un programa lee después el archivo. Un programa que espera un número de verdad no entenderá "24,5": habrá que sustituir la coma por un punto y quitar las comillas alrededor de los valores numéricos.

Los campos vacíos

Un campo vacío del CSV pasa a ser una cadena vacía en el JSON, dos comillas sin nada entre ellas, y no el valor «null». Si su programa distingue entre «vacío» y «ausente», prevea este paso de limpieza.

En qué casos convertir

Una hoja de cálculo exportada de una tienda, una lista de contactos o una serie de mediciones se convierten a JSON cuando un sitio o un programa debe leerlos. La conversión inversa sirve para abrir en una hoja de cálculo datos recibidos de un servicio en línea.

Comprobar el resultado

Compare el número de líneas del CSV con el del JSON y después abra el archivo obtenido. Mire sobre todo las columnas que contienen decimales, acentos o comas: ahí es donde aparecen los errores.

CSV a JSON

Para hacer el camino inverso, consulte JSON a CSV.

Preguntas frecuentes

¿Por qué mis números pasan a ser texto en el JSON?
La herramienta escribe todos los valores como texto, números incluidos. Si un programa espera un número de verdad, sustituya la coma decimal por un punto y quite las comillas alrededor de los valores numéricos.
Mi CSV usa puntos y coma, ¿se lee correctamente?
Sí, la herramienta reconoce el punto y coma igual que la coma, lo que corresponde a las hojas de cálculo en francés.
¿Qué ocurre con una celda vacía?
Pasa a ser una cadena vacía en el JSON, no el valor «null».
¿Cómo conservar una coma dentro de un valor?
Debe ir entre comillas en el CSV, como «riego: mañana, tarde». La herramienta conserva entonces el valor de una pieza.