Convertir csv a xml

Convertidor online gratuito de CSV a XML

Convierte datos tabulares CSV en XML estructurado para sistemas que requieren elementos y esquemas con nombre.

Convertir CSV a XML online - gratis

Uploading…
Los archivos seleccionados superan el límite total de 75 MB. Selecciona archivos más pequeños o en menor cantidad.

Tu archivo se procesa al instante y no se almacena en nuestros servidores.

Cómo convertir un archivo csv a xml

Un sistema de importación de datos, un dispositivo o una aplicación empresarial pueden requerir XML en lugar de un archivo CSV tabular. La conversión conserva los registros y expresa sus campos como elementos con nombre que el software puede procesar, validar e intercambiar.

Qué es el formato CSV

CSV (valores separados por comas) almacena datos rectangulares en filas y columnas. Cada línea normalmente representa un registro, y la primera línea puede contener nombres de columnas como id,name,price.

A pesar de su nombre, un archivo CSV puede utilizar comas, puntos y comas, tabulaciones u otro delimitador. Los valores que contienen el delimitador, saltos de línea o comillas normalmente se encierran entre comillas dobles; una comilla doble incluida se representa mediante dos comillas dobles consecutivas. Las convenciones de CSV no son completamente uniformes, por lo que el delimitador, las reglas de uso de comillas, los finales de línea y la codificación de caracteres deben identificarse antes de la conversión.

Aplicaciones de hojas de cálculo como Microsoft Excel y LibreOffice Calc exportan archivos CSV. Las bases de datos, los sistemas de contabilidad, los gestores de contactos, los instrumentos de laboratorio y los scripts también los utilizan. CSV es adecuado para tablas simples, pero no describe de forma nativa registros anidados, atributos, tipos de datos, reglas de validación ni relaciones entre tablas.

Qué es el formato XML

XML (Lenguaje de Marcado Extensible) almacena texto estructurado mediante elementos y atributos. Una fila correspondiente a un cliente puede convertirse en un elemento <customer> que contenga elementos secundarios como <id>, <name> y <email>.

XML puede representar jerarquías, registros repetidos, namespaces, comentarios y reglas de validación definidas por un schema como XSD. Estas funciones son compatibles con interfaces de aplicaciones, archivos de configuración, intercambio de documentos, sistemas de publicación y archivos que requieren una estructura explícita. XML suele ser más extenso que CSV, y un convertidor no puede inferir las relaciones empresariales ni el schema requerido por el destinatario basándose únicamente en los nombres de las columnas.

Cómo convertir archivos CSV a XML

Uso del convertidor online integrado

  1. Abra el convertidor de CSV a XML en 101convert.com.
  2. Seleccione o cargue el archivo .csv de origen.
  3. Elija el delimitador utilizado por el archivo, normalmente una coma, un punto y coma o una tabulación, y especifique si la primera fila contiene encabezados de columna.
  4. Seleccione UTF-8 cuando los datos contengan caracteres acentuados, texto no latino o símbolos.
  5. Elija la estructura XML si hay opciones disponibles. Una estructura común tiene un elemento raíz, un elemento de registro repetido y un elemento secundario para cada columna.
  6. Inicie la conversión y descargue el archivo .xml resultante.

Los archivos se pueden convertir en 101convert.com sin instalar software. No cargue datos confidenciales, regulados o de identificación personal a menos que el servicio cumpla los requisitos aplicables de gestión de datos.

Uso de Python

La biblioteca estándar de Python puede realizar conversiones repetibles sin un paquete adicional. Este ejemplo lee una fila de encabezados, utiliza una asignación conservadora para los nombres de elementos XML y escribe XML en UTF-8:

import csv
import re
import xml.etree.ElementTree as ET

def xml_name(header, number):
    name = re.sub(r"[^A-Za-z0-9_.-]", "_", header.strip())
    if not name or not re.match(r"^[A-Za-z_]", name):
        name = f"field_{number}"
    return name

root = ET.Element("records")
with open("input.csv", newline="", encoding="utf-8-sig") as source:
    reader = csv.DictReader(source, delimiter=",")
    headers = [xml_name(h or "", i) for i, h in enumerate(reader.fieldnames or [], 1)]
    for values in reader:
        record = ET.SubElement(root, "record")
        for number, (original, value) in enumerate(values.items(), 1):
            field = ET.SubElement(record, headers[number - 1])
            field.text = value or ""

ET.ElementTree(root).write("output.xml", encoding="utf-8", xml_declaration=True)

Guarde el script como csv_to_xml.py y ejecútelo con python csv_to_xml.py. Cambie delimiter="," para un archivo delimitado por punto y coma o tabulaciones, y sustituya records y record por los nombres requeridos por el sistema receptor. El script presupone que los encabezados son únicos; después de limpiar los nombres, los encabezados duplicados deben renombrarse o asignarse explícitamente.

Comprobaciones de compatibilidad y calidad de los datos

  • Asigne la estructura al schema de destino. Un archivo XML bien formado aún puede ser rechazado si tiene un elemento raíz, namespace, anidamiento, orden de campos, elemento obligatorio o formato de datos incorrectos. Utilice el XSD o el XML de ejemplo del destinatario cuando esté disponible.
  • Compruebe los nombres de los elementos XML. Los nombres de los encabezados no se pueden utilizar sin cambios cuando comienzan con un número o contienen espacios y otros caracteres prohibidos. Renómbrelos o configure una asignación explícita. Evite convertir encabezados arbitrarios directamente en etiquetas XML sin validación.
  • Defina explícitamente los tipos de datos. CSV no distingue de forma fiable entre identificadores, números, fechas y valores Boolean. Conserve valores como 00125 como cadenas cuando los ceros iniciales sean importantes, y especifique los separadores decimales, los formatos de fecha y las representaciones Boolean.
  • Decida cómo representar los campos vacíos. Un elemento ausente, un elemento vacío como <email/> y un atributo vacío pueden tener significados diferentes para la aplicación receptora.
  • Verifique la codificación. UTF-8 es la opción habitual. La declaración XML, como <?xml version="1.0" encoding="UTF-8"?>, debe coincidir con la codificación real del archivo.
  • Conserve el escapado. Los signos de ampersand, menor que y otros caracteres reservados deben escaparse en XML. Las bibliotecas y los convertidores correctos se encargan de esto; concatenar manualmente cadenas XML puede producir documentos no válidos.
  • Compruebe las filas y los valores después de la conversión. Compare con el origen el número de registros, los encabezados, los campos entrecomillados representativos, los saltos de línea, los valores vacíos, las fechas, los valores decimales y los caracteres no ASCII. Los archivos grandes también pueden requerir un convertidor de streaming en lugar de cargar todo el dataset en la memoria.

CSV vs XML: comparación de formatos

Cómo se comparan los formatos CSV y XML en las propiedades que más importan para esta conversión.

Comparación de los formatos de archivo CSV y XML
Propiedad .CSV Comma-Separated Values .XML Extensible Markup Language
Legible como texto plano
Tipos de datos Tipado Tipado
Estructuras anidadas No
Fórmulas No No
Varias tablas o hojas No
Tamaño de archivo típico Pequeño Pequeño
Estándar abierto
Más adecuado para Intercambio de datos Intercambio de datos
Introducido 1998
Desarrollador W3C
Tipo MIME text/csv application/xml

Preguntas frecuentes

¿Es gratuito el convertidor de CSV a XML?

Sí, convertir CSV a XML en 101convert.com es totalmente gratuito. No se requiere registro, correo electrónico ni instalación.

¿Qué tamaño puede tener mi archivo CSV?

Puedes subir archivos CSV de hasta 300 MB y convertir hasta 100 archivos a la vez en un solo lote.

¿Qué ocurre con mis archivos subidos?

Los archivos se procesan automáticamente y se eliminan de nuestros servidores pocos minutos después de la conversión. Nunca vemos ni compartimos tus archivos.

¿Necesito instalar algún programa para convertir CSV a XML?

No. La conversión de CSV a XML se realiza completamente online en tu navegador y funciona en Windows, Mac, Linux, Android y iPhone.

¿Ha fallado la conversión?

En la mayoría de los casos, la causa es un formato de archivo incorrecto. Sube un archivo CSV válido para esta conversión de CSV a XML. En ocasiones, el problema también puede estar de nuestro lado. Analizamos los fallos de conversión recurrentes y desactivamos o reparamos el convertidor si detectamos algún defecto.

Otras conversiones de archivos .csv

Conversión inversa

Convertir a .xml
desde otros formatos

Compartir en redes sociales: