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
Seu arquivo é processado instantaneamente e nunca é armazenado em nossos servidores.
Como converter csv para xml arquivo
- Arquivos de texto
- Nenhuma avaliação ainda.
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
- Abra o conversor de CSV para XML em 101convert.com.
- Selecione ou carregue o arquivo
.csvde origem. - 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.
- Selecione UTF-8 quando os dados contiverem caracteres acentuados, texto não latino ou símbolos.
- 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.
- Inicie a conversão e baixe o arquivo
.xmlresultante.
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
00125como 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.
| 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 |
Software sugerido para converter csv para 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.