Converter csv para xml

Conversor online gratuito de CSV para XML

Converta dados tabulares em CSV em XML estruturado para sistemas que exigem elementos nomeados e schemas.

Converter CSV para XML online - grátis

Uploading…
Os arquivos selecionados excedem o limite total de 75 MB. Selecione arquivos menores ou em menor quantidade.

Seu arquivo é processado instantaneamente e nunca é armazenado em nossos servidores.

Como converter csv para xml arquivo

Um sistema de importação de dados, dispositivo ou aplicação empresarial pode exigir XML em vez de um arquivo CSV tabular. A conversão mantém os registros, expressando seus campos como elementos nomeados que o software pode processar, validar e trocar.

O que é o formato CSV

CSV (comma-separated values) armazena dados retangulares em linhas e colunas. Cada linha geralmente representa um registro, e a primeira linha pode conter nomes de colunas, como id,name,price.

Apesar do nome, um arquivo CSV pode usar vírgulas, ponto e vírgulas, tabulações ou outro delimitador. Valores que contêm o delimitador, quebras de linha ou aspas normalmente são colocados entre aspas duplas; uma aspa dupla incorporada é representada por duas aspas duplas consecutivas. As convenções de CSV não são totalmente uniformes, portanto o delimitador, as regras de uso de aspas, os finais de linha e a codificação de caracteres devem ser identificados antes da conversão.

Aplicações de planilha, como Microsoft Excel e LibreOffice Calc, exportam arquivos CSV. Bancos de dados, sistemas de contabilidade, gerenciadores de contatos, instrumentos laboratoriais e scripts também os utilizam. CSV é adequado para tabelas simples, mas não descreve nativamente registros aninhados, atributos, tipos de dados, regras de validação ou relações entre tabelas.

O que é o formato XML

XML (Extensible Markup Language) armazena texto estruturado usando elementos e atributos. Uma linha referente a um cliente pode se tornar um elemento <customer> contendo elementos filhos, como <id>, <name> e <email>.

XML pode representar hierarquia, registros repetidos, namespaces, comentários e regras de validação definidas por um schema, como XSD. Esses recursos dão suporte a interfaces de aplicações, arquivos de configuração, troca de documentos, sistemas de publicação e arquivos que exigem uma estrutura explícita. XML geralmente é mais detalhado que CSV, e um conversor não pode inferir relações empresariais ou o schema exigido pelo destinatário apenas a partir dos nomes das colunas.

Como converter arquivos CSV para XML

Usando o conversor online integrado

  1. Abra o conversor de CSV para XML em 101convert.com.
  2. Selecione ou carregue o arquivo .csv de origem.
  3. Escolha o delimitador usado pelo arquivo, geralmente vírgula, ponto e vírgula ou tabulação, e especifique se a primeira linha contém cabeçalhos de coluna.
  4. Selecione UTF-8 quando os dados contiverem caracteres acentuados, texto não latino ou símbolos.
  5. Escolha a estrutura XML, caso haja opções disponíveis. Uma estrutura comum tem um elemento raiz, um elemento de registro repetido e um elemento filho para cada coluna.
  6. Inicie a conversão e baixe o arquivo .xml resultante.

Os arquivos podem ser convertidos em 101convert.com sem instalar software. Não carregue dados confidenciais, regulamentados ou que permitam a identificação pessoal, a menos que o serviço atenda aos requisitos aplicáveis de tratamento de dados.

Usando Python

A biblioteca padrão do Python pode realizar conversões repetíveis sem um pacote adicional. Este exemplo lê uma linha de cabeçalho, usa um mapeamento conservador para nomes de elementos XML e grava XML em 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)

Salve o script como csv_to_xml.py e execute python csv_to_xml.py. Altere delimiter="," para um arquivo delimitado por ponto e vírgula ou tabulação, e substitua records e record pelos nomes exigidos pelo sistema receptor. O script pressupõe cabeçalhos exclusivos; após a limpeza dos nomes, cabeçalhos duplicados devem ser renomeados ou mapeados explicitamente.

Verificações de compatibilidade e qualidade dos dados

  • Mapeie a estrutura para o schema de destino. Um arquivo XML bem-formado ainda pode ser rejeitado se tiver o elemento raiz, namespace, aninhamento, ordem de campos, elemento obrigatório ou formato de dados incorreto. Use o XSD ou o XML de exemplo do destinatário quando disponível.
  • Verifique os nomes dos elementos XML. Os nomes dos cabeçalhos não podem ser usados sem alterações quando começam com um número ou contêm espaços e outros caracteres proibidos. Renomeie-os ou configure um mapeamento explícito. Evite converter cabeçalhos arbitrários diretamente em tags XML sem validação.
  • Defina os tipos de dados explicitamente. CSV não distingue de forma confiável identificadores, números, datas e valores Boolean. Preserve valores como 00125 como strings quando os zeros à esquerda forem importantes e especifique separadores decimais, formatos de data e representações Boolean.
  • Decida como representar campos vazios. Um elemento ausente, um elemento vazio como <email/> e um atributo vazio podem ter significados diferentes para a aplicação receptora.
  • Verifique a codificação. UTF-8 é a escolha usual. A declaração XML, como <?xml version="1.0" encoding="UTF-8"?>, deve corresponder à codificação real do arquivo.
  • Preserve o escaping. E comercial, sinais de menor que e outros caracteres reservados devem ser escapados em XML. Bibliotecas e conversores corretos lidam com isso; concatenar strings XML manualmente pode produzir documentos inválidos.
  • Verifique linhas e valores após a conversão. Compare a quantidade de registros, os cabeçalhos, os campos entre aspas representativos, as quebras de linha, os valores vazios, as datas, os valores decimais e os caracteres não ASCII com a origem. Arquivos grandes também podem exigir um conversor com streaming, em vez de carregar todo o conjunto de dados na memória.

Comparação de formato: CSV vs XML

Como os formatos CSV e XML se comparam nas propriedades mais importantes para esta conversão.

Comparação dos formatos de arquivo CSV e XML
Propriedade .CSV Comma-Separated Values .XML Extensible Markup Language
Legível em texto simples Sim Sim
Tipos de dados Tipado Tipado
Estruturas aninhadas Não Sim
Fórmulas Não Não
Múltiplas tabelas ou planilhas Não
Tamanho típico do arquivo Pequeno Pequeno
Padrão aberto Sim Sim
Mais usado para Intercâmbio de dados Intercâmbio de dados
Introduzido 1998
Desenvolvedor W3C
Tipo MIME text/csv application/xml

Perguntas frequentes

O conversor de CSV para XML é gratuito?

Sim, converter CSV para XML no 101convert.com é totalmente gratuito. Não é necessário cadastro, e-mail nem instalação.

Qual o tamanho máximo do meu arquivo CSV?

Você pode enviar arquivos CSV de até 300 MB e converter até 100 arquivos de uma vez em um único lote.

O que acontece com os arquivos enviados?

Os arquivos são processados automaticamente e excluídos dos nossos servidores poucos minutos após a conversão. Nunca visualizamos nem compartilhamos seus arquivos.

Preciso instalar algum programa para converter CSV para XML?

Não. A conversão de CSV para XML é feita totalmente online no navegador e funciona no Windows, Mac, Linux, Android e iPhone.

A conversão falhou?

Na maioria dos casos, a causa é um formato de arquivo incorreto. Envie um arquivo CSV válido para esta conversão de CSV para XML. Às vezes, o problema também pode estar do nosso lado. Analisamos falhas de conversão recorrentes e desativamos ou corrigimos o conversor se detectarmos algum defeito.

Outras conversões de arquivo .csv

Conversão inversa

Converter para .xml
de outros formatos

Compartilhar nas redes sociais: