Funciona en tu dispositivo · Tu archivo nunca sale de tu dispositivo.
Suelta una exportación .csv o pega el texto y obtén una lista JSON – un objeto por fila, con la fila de cabecera como claves. El analizador sigue la RFC 4180, así que los campos entrecomillados, las comillas dobladas y las comas o saltos de línea dentro de una celda llegan intactos.
El separador de columnas se detecta solo entre coma, punto y coma, tabulador y barra vertical – las exportaciones europeas con punto y coma funcionan sin tocar nada – y puedes forzarlo. Por defecto "12" pasa a ser el número 12, "true" un booleano y una celda vacía null – pero solo donde nada cambia: 1.50, 1e3, 007 y los identificadores largos siguen como texto, porque como números se volverían a escribir de otra forma. Desactívalo y cada valor queda exactamente como el texto que era.
Las cabeceras repetidas o vacías reciben nombres únicos (column_3), la marca de orden de bytes se elimina, un archivo guardado en UTF-16 o en una página de códigos antigua se lee como tal y se indica cuál, las filas con más celdas que la cabecera se señalan con su línea, y un problema de análisis se indica con su línea y columna en lugar de un mensaje vago. La vista previa muestra las primeras 200 líneas antes de descargar.
No sirve para: Reconstruir estructuras anidadas – un CSV es plano, así que cada fila se convierte en un objeto plano; las columnas con punto en el nombre no se vuelven a anidar.
Con el interruptor activado, una celda solo pasa a número cuando ese número se volvería a escribir con el mismo texto: 12, -4 y 3.5 pasan a números. 1.50, 1e3 y -0 siguen como texto, porque como números volverían como 1.5, 1000 y 0. Lo mismo pasa con 007, +5, " 12", 3,5, 1,250, un signo de porcentaje o de moneda, y un identificador más largo de lo que un número puede guardar con exactitud.
true y false se reconocen en mayúsculas o minúsculas, así que TRUE pasa a true. Una celda vacía pasa a null, pero la palabra NULL sigue como texto, ya que también puede ser un valor o un nombre. Las fechas, como 2024-01-05, siempre siguen como texto.
Las celdas se emparejan con la cabecera por su posición. Una fila con menos celdas recibe null en las columnas que faltan (una cadena vacía si la detección está desactivada). Una fila con más celdas que la cabecera no tiene dónde poner las sobrantes, así que se dejan fuera, y un mensaje encima de la vista previa dice a cuántas filas les pasó y en qué línea empieza la primera. Suele significar que un valor como García, Ana contiene el separador sin comillas.
Las líneas en blanco se saltan. A los nombres de la cabecera se les quitan los espacios de alrededor; a los valores no, así que " Madrid" conserva su espacio.
Una comilla solo abre un campo entrecomillado cuando es el primer carácter del campo; en medio, como en pantalla de 5", forma parte del texto. Una comilla que abre un campo y nunca se cierra arrastraría el resto del archivo a una sola celda, así que la conversión se detiene e indica la línea y la columna donde se abrió esa comilla.
La detección mira los primeros 64 KB, hasta 50 líneas, y elige el separador que da el mismo número de columnas en más líneas; los separadores dentro de comillas no cuentan. En un archivo con punto y coma y decimales con coma, como A;1,5, se detecta el punto y coma y 1,5 sigue como texto.
El archivo se lee según lo que son sus bytes: una marca de orden de bytes, UTF-16 (lo que Excel guarda como «Texto Unicode») o UTF-8. Cuando los bytes no son UTF-8 válido, se usa la página de códigos antigua con la que se leen como palabras: las páginas de códigos de Windows para texto de Europa occidental y central, cirílico, griego, turco, hebreo, árabe (con persa y urdu) y tailandés, o GB18030, Big5, Shift_JIS y EUC-KR para chino, japonés y coreano. La línea del archivo lo indica entonces, por ejemplo «leído como windows-1256, no UTF-8»; un archivo muy corto tiene pocas letras con las que juzgar, así que revisa su vista previa.
Más en Hojas de cálculo y datos
Esta página en otros idiomas: English · العربية · Deutsch · Français · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা