Cómo funciona : CSV y JSON
El dato que casi nadie dice: «el formato CSV» no es una norma. Su documento de referencia lleva la mención «a título informativo» y él mismo escribe que hay diferencias considerables entre las implementaciones. Por eso esta herramienta MIDE el separador en vez de suponerlo, y le enseña lo que ha encontrado.
El sentido de la conversión se DEDUCE de lo que usted pega: un texto que empieza por una llave o por un corchete es JSON, y todo lo demás es CSV. Es la misma lógica que la caja cifrada y el PDF protegido de este sitio: no se le pide que elija un modo que no conoce.
El CSV es un formato sin norma, y de ahí vienen casi todos los disgustos. El documento de referencia lleva la mención «a título informativo», y él mismo escribe que hay diferencias considerables entre las implementaciones. En una hoja de cálculo europea, el separador es el punto y coma, porque allí la coma es el separador decimal. Así que la herramienta MIDE el separador: prueba los cuatro candidatos y se queda con el que da el número de columnas más regular, y luego enseña cuál ha escogido.
Las reglas del documento de referencia se aplican al pie de la letra, incluida la que se salta la mitad de los conversores: un campo entrecomillado puede contener un SALTO DE LÍNEA. Por eso el lector avanza carácter a carácter en vez de cortar el texto por líneas. Una comilla dentro de un campo entrecomillado se dobla, y la herramienta la escribe así en el sentido inverso.
Cómo funciona
- Pegue su CSV, o su JSON. La herramienta reconoce cuál de los dos es y enseña el sentido de la conversión.
- Compruebe el separador que ha medido, y la primera línea de encabezado. Son las dos únicas cosas que pueden engañar a un conversor.
- Copie o descargue el resultado. La tabla le dice cuántas filas y cuántas columnas se han leído.
Formatos aceptados
El sentido se deduce del texto. Un JSON tiene que ser una lista de objetos para dar una tabla de dos dimensiones: es la forma que producen casi todas las exportaciones.
Texto en formato CSV
Separador medido entre la coma, el punto y coma, la tabulación y la barra vertical. Los campos entrecomillados, las comillas dobladas y los saltos de línea dentro de un campo se tratan bien.
Texto en formato JSON
Una lista de objetos da una fila por objeto y una columna por cada clave encontrada. Un valor anidado se escribe en JSON dentro de su celda, y la herramienta lo avisa.
Sus límites
No existe ninguna norma del CSV, y la herramienta no pretende lo contrario
El documento de referencia de 2005 está clasificado «a título informativo»: DESCRIBE un uso observado, no lo normaliza, y él mismo escribe que hay diferencias considerables entre las implementaciones. Consecuencia práctica: un archivo que un programa acepta otro puede rechazarlo, y no es culpa de nadie. La herramienta aplica las reglas de ese documento y enseña lo que ha medido, para que usted pueda juzgar.
Un JSON de varios niveles no se convierte en un CSV de varios niveles
Un CSV es una tabla plana: dos dimensiones, no tres. Cuando un valor es a su vez un objeto o una lista, la herramienta lo escribe en JSON dentro de su celda y se lo avisa, cosa que conserva la información sin fingir que la ha aplanado. Elegir por usted una convención de aplanamiento, con nombres de columna inventados, sería una decisión que no nos toca tomar.
La conversión a números se ofrece, y puede estropear un identificador
Un código postal que empieza por cero, un número de teléfono, un identificador de diecinueve cifras: convertirlos en números les hace perder el cero de delante o sus últimas cifras. La casilla viene marcada porque es lo que se espera de un archivo de mediciones, pero desmárquela en un archivo de referencias: todo se quedará como texto.
La marca de orden de bytes se ofrece para el CSV, y no por casualidad
Una hoja de cálculo muy extendida solo enseña bien un CSV en UTF-8 si el archivo empieza por esa marca: lo dice su documentación. Sin ella, los acentos se convierten en series de signos raros. Pero esa misma marca hace fallar a otros programas, que la leen como un carácter del primer campo. No hay una elección buena universal: la casilla existe, y su porqué está escrito al lado.
Preguntas sobre esta herramienta
¿Mis datos se envían a alguna parte?
No, y aquí importa: un archivo CSV es casi siempre una exportación de datos reales, a menudo con nombres y direcciones. Compruébelo en treinta segundos: abra el inspector con la tecla F12, pestaña «Red», vacíe la lista, y después pegue su archivo y conviértalo. No aparece ni una línea. Corte su conexión y vuelva a hacerlo.
Mi CSV lleva puntos y comas, ¿es un problema?
No, y hasta es el caso más corriente en Europa. Como aquí la coma hace de separador decimal, las hojas de cálculo usan el punto y coma para separar las columnas. La herramienta prueba los cuatro separadores posibles y se queda con el que da el número de columnas más regular, y luego le dice cuál ha escogido. Si su medición se equivoca, impóngalo usted en la lista.
Mis códigos postales pierden el cero de delante.
Desmarque «convertir en números lo que parece un número». Un código postal, un número de teléfono o un número de cuenta no son números: son series de cifras, y tratarlos como números les hace perder el cero de delante. La casilla viene marcada porque es lo que se espera de un archivo de mediciones, pero se desmarca con un clic y todo se queda como texto.
¿Por qué se rompen los acentos cuando abro el CSV en mi hoja de cálculo?
Porque una hoja de cálculo muy extendida solo reconoce el UTF-8 dentro de un CSV si el archivo empieza por una marca de orden de bytes: está escrito en su propia documentación. Marque la casilla que la añade y vuelva a abrir el archivo. Y cuidado con lo contrario: esa misma marca hace fallar a algunos programas, que la leen como un carácter del primer campo. No hay una elección buena universal, solo la elección que le conviene al destino.
Mi JSON tiene objetos dentro de objetos. ¿Qué pasa con esa estructura?
Se conserva, pero escrita en JSON dentro de la celda, y la herramienta se lo avisa. Un CSV es una tabla plana, de dos dimensiones: no hay una manera universal de meter ahí una estructura de tres niveles. Las convenciones existen, y fabrican nombres de columna como «direccion.ciudad», y cada una es una decisión arbitraria. Preferimos dejar su dato intacto y decirle dónde está.
El dato que casi nadie dice: «el formato CSV» no es una norma. Su documento de referencia lleva la mención «a título informativo» y él mismo escribe que hay diferencias considerables entre las implementaciones. Por eso esta herramienta MIDE el separador en vez de suponerlo, y le enseña lo que ha encontrado.
ComprobarLa prueba, paso a pasoLa comprobación con el inspector de red, explicada gesto a gesto y con capturas de pantalla.
El rincónEl rincón de los textos y los datosContar, comparar, dar formato, limpiar. Los gestos pequeños que cuestan una hora cuando no se tienen a mano.