Cómo convertir datos delimitados

Pega texto CSV, TSV o separado por punto y coma, elige el delimitador (Detección automática, Coma, Tabulador o Punto y coma) y el formato de salida (XML, YAML, SQL INSERT o JSON), y pulsa Convertir. La primera fila se lee como cabecera y da los nombres de los campos.

Todo se ejecuta en este navegador: no se sube nada y el SQL generado es solo texto, la página nunca se conecta a una base de datos. Una tabla de 5.000 filas se convierte en torno a un tercio de segundo, y el resultado se puede copiar o descargar como converted-data.<formato>.

  1. Pega la tabla en el cuadro de entrada o pulsa Cargar ejemplo para ver una muestra de cuatro columnas con campos entrecomillados.
  2. Elige el delimitador. La detección automática cuenta comas, tabuladores y puntos y coma fuera de las celdas entrecomilladas en las cinco primeras líneas no vacías y prefiere el candidato cuyo recuento no cambia, así que una cabecera como "Hopper, Grace" ya no oculta los tabuladores; selecciona Tabulador o Punto y coma cuando el archivo sea ambiguo.
  3. Elige el formato de salida y, para SQL INSERT, el nombre de la tabla (imported_data por defecto), y pulsa Convertir. Las filas, las columnas, el delimitador detectado y el tamaño de salida aparecen encima del resultado.
  4. Lee el resultado junto con el panel de Hallazgos: indica lo que hubo que reparar, como una comilla sin cerrar, valores extra guardados en campos column_N generados, columnas duplicadas renombradas, caracteres de control eliminados del XML o un nombre de tabla ajustado.

Formatos, escapado y límites

Delimitadores, comillas y cabeceras

La detección automática lee las cinco primeras líneas no vacías y cuenta delimitadores fuera de las celdas entrecomilladas; la coma es el valor de reserva cuando ningún candidato convence. Una comilla abre una celda solo al principio, así que una comilla dentro de un valor sin comillas permanece en el dato, "" dentro de una celda entrecomillada equivale a una comilla, y los delimitadores o saltos de línea dentro de comillas se quedan en la celda. La marca de orden de bytes UTF-8 se elimina de la primera cabecera y las líneas vacías se omiten en lugar de convertirse en filas vacías.

Los nombres de cabecera se recortan; una cabecera vacía pasa a column_1, column_2, etc., y los nombres duplicados se renombran con un sufijo numérico (a, a_2) en vez de sobrescribirse. Las filas más cortas que la cabecera conservan valores vacíos y las filas con más valores guardan las celdas extra en campos column_N generados, que el panel de hallazgos indica.

Qué escribe cada formato de salida

JSON escribe un objeto por fila con todas las celdas como cadenas. XML escribe una declaración XML 1.0 con elementos <rows> y <row>: los nombres de cabecera se convierten en nombres de elemento (los caracteres que no sean letras, dígitos, punto, guion o guion bajo pasan a _), un dígito inicial se prefija con _ y los nombres repetidos reciben un sufijo. YAML escribe una secuencia de mapas y entrecomilla cualquier cadena que un analizador YAML leería como número, fecha, booleano o nulo, de modo que 007, 2026-09-22 y yes siguen siendo texto.

SQL INSERT escribe una instrucción por fila con identificadores entre acentos graves y escapado de cadenas de MySQL/MariaDB: la comilla simple se duplica y la barra invertida, el salto de línea, el retorno de carro, NUL y Ctrl-Z se escapan, así que una ruta de Windows que termina en barra invertida permanece dentro de su cadena. El nombre de la tabla se reduce a letras, dígitos y guiones bajos, y el panel de hallazgos lo avisa cuando eso cambia el nombre escrito. No se envía nada a una base de datos.

Límites y lo que esta página no hace

Las celdas son texto: el conversor nunca decide que una columna es numérica y no convierte valores en fechas, booleanos o NULL. El SQL generado tiene sabor MySQL/MariaDB (identificadores entre acentos graves); otros servidores aceptan los literales de cadena pero pueden necesitar su propio entrecomillado de identificadores. XML 1.0 no puede representar la mayoría de los caracteres de control y esos caracteres se eliminan de los valores XML.

No hay selector de archivos ni lector de hojas de cálculo: pega el texto o copia antes las filas desde Excel, y conviene analizar el resultado con una biblioteca del formato de destino antes de confiar en él. Una entrada solo con cabecera devuelve un array JSON o YAML vacío con un hallazgo, la métrica del delimitador registra lo que eligió la detección automática y el tamaño práctico depende de la memoria de la pestaña.

Herramientas recientes: