Convertir CSV a XML, YAML, SQL y JSON
Pega los datos y elige separador y formato de salida. Usa una fila de cabecera para nombrar los campos; el SQL no se ejecuta.
Se ejecuta localmente en tu navegadorPega los datos y elige separador y formato de salida. Usa una fila de cabecera para nombrar los campos; el SQL no se ejecuta.
Se ejecuta localmente en tu navegadorPega 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>.
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.
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.
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.