Pular para o conteúdo

Converter HTML para CSV

Extraia tabelas HTML para arquivos CSV editáveis e importáveis usando ferramentas desktop, scripts ou serviços online.

Converter ficheiros HTML online

Ainda não temos um conversor online dedicado para HTML para CSV, mas pode converter ficheiros HTML online para estes e outros formatos:

Quer converter HTML para CSV?

Diga-nos. Escolhemos as próximas conversões a adicionar de acordo com o interesse.

Como converter html para csv arquivo

  • Documentos
  • Nenhuma avaliação ainda.

Uma planilha, um banco de dados ou um sistema de análise pode exigir dados tabulares em CSV em vez de uma página da web salva. Converter uma tabela HTML facilita editar, importar, arquivar ou processar seus registros como um arquivo de texto simples menor.

O que é o formato HTML

HTML (HyperText Markup Language) é o formato de documento usado em páginas da web e documentos da web salvos localmente. Elementos como títulos, parágrafos, links, listas e tabelas definem a estrutura do documento; CSS controla a apresentação, enquanto scripts podem gerar ou modificar conteúdo.

Navegadores e aplicativos de escritório, geração de relatórios, gerenciamento de conteúdo e web normalmente criam arquivos .html e .htm. Um arquivo HTML pode conter várias tabelas junto com navegação, anúncios, imagens, formulários e dados carregados dinamicamente. Normalmente, somente os dados da tabela pertencem a uma exportação CSV.

O que é o formato CSV

CSV (comma-separated values) é um formato tabular de texto simples. Cada registro geralmente ocupa uma linha, e os campos são separados por vírgulas. Um campo que contém uma vírgula, aspas ou quebra de linha é delimitado por aspas duplas; uma aspa dentro de um campo entre aspas é representada por duas aspas.

Arquivos CSV são compatíveis com Microsoft Excel, LibreOffice Calc, Google Sheets, bancos de dados, software estatístico e APIs de importação. CSV é menor e mais fácil de processar do que HTML, mas não preserva formatação, layout da página, imagens, fórmulas, CSS ou a maior parte da estrutura do documento. Uma URL pode ser mantida como texto somente se a tabela de origem ou o extrator a fornecer como valor de célula.

Converter com Microsoft Excel

  1. Abra o Excel e escolha File → Open. Selecione o arquivo HTML; escolha All Files se ele não for exibido.
  2. Revise o conteúdo importado. Se a página contiver várias tabelas, copie a tabela necessária para uma nova planilha. Remova texto de navegação, títulos, rodapés, células mescladas e colunas não relacionadas.
  3. Escolha File → Save As e selecione CSV UTF-8 (Comma delimited) (*.csv).
  4. Aceite o aviso de que somente a planilha ativa será salva. Exporte cada tabela não relacionada para um arquivo CSV separado.

O Excel é adequado para um pequeno número de tabelas HTML comuns, pois permite fazer uma limpeza visual antes da exportação. Ele também pode alterar valores como identificadores com zeros à esquerda, datas e números longos; portanto, formate essas colunas como texto antes de salvar ou verifique o CSV resultante.

Converter com LibreOffice Calc

  1. Abra o arquivo HTML no LibreOffice Calc e selecione a tabela ou planilha que contém os registros necessários.
  2. Escolha File → Save As, selecione Text CSV (.csv) e ative Edit filter settings se essa opção estiver disponível.
  3. Na caixa de diálogo de exportação, defina o conjunto de caracteres como UTF-8, o separador de campos como vírgula e o delimitador de texto como aspas duplas.
  4. Use Save cell contents as shown somente quando forem necessários os valores exibidos, em vez dos valores subjacentes das células.

O LibreOffice é uma alternativa gratuita para desktop. Seu importador HTML pode exigir correções quando a origem usa tabelas aninhadas, rowspan, colspan ou várias tabelas não relacionadas.

Extrair tabelas com Python

Para uma conversão repetível, instale pandas e um parser HTML:

python -m pip install pandas lxml

Grave cada tabela HTML detectada em um arquivo CSV separado:

import pandas as pd

tables = pd.read_html("input.html")
for number, table in enumerate(tables, start=1):
    table.to_csv(f"table-{number}.csv", index=False, encoding="utf-8-sig")

Para exportar somente a primeira tabela detectada:

import pandas as pd

pd.read_html("input.html")[0].to_csv("output.csv", index=False, encoding="utf-8-sig")

read_html() extrai elementos <table> reais. Ele não executa JavaScript da página, não autentica em um site, não segue a paginação nem recupera conteúdo carregado depois que o HTML salvo foi criado. Para páginas dinâmicas, use a própria exportação do site, obtenha a resposta da API subjacente ou salve a tabela totalmente renderizada antes da extração. Inspecione tabelas com cabeçalhos multinível e nivele ou renomeie esses cabeçalhos antes de gravar o CSV final.

Usar um conversor online

Para um arquivo independente e não confidencial, envie o HTML para um serviço confiável, como Convertio ou Zamzar, selecione CSV como formato de saída se a conversão de HTML para CSV estiver sendo oferecida no momento, inicie a conversão e baixe o resultado. O suporte e o comportamento de saída do serviço podem mudar, e muitos conversores online lidam apenas com tabelas simples, não com páginas renderizadas por JavaScript.

Não envie credenciais, registros pessoais, dados de clientes, relatórios não publicados ou outros arquivos HTML restritos, a menos que os termos de retenção, exclusão, criptografia e processamento do provedor sejam aceitáveis. Software para desktop ou um script local em Python é preferível para dados confidenciais.

Verificar o CSV convertido

  • Várias tabelas: CSV não possui planilhas nem um contêiner interno de tabelas. Exporte tabelas não relacionadas separadamente ou combine-as somente quando suas colunas descreverem o mesmo tipo de registro.
  • Extensões e cabeçalhos: Células HTML que usam rowspan ou colspan podem criar campos vazios, repetidos ou deslocados. Verifique manualmente os nomes das colunas e os primeiros e últimos registros.
  • Codificação: Use UTF-8. UTF-8 with BOM, gravado por utf-8-sig, pode melhorar a detecção automática quando o arquivo é aberto diretamente em versões antigas do Excel para Windows. Verifique caracteres acentuados e não latinos.
  • Delimitadores: CSV é uma convenção, não um dialeto único totalmente padronizado. As configurações regionais da planilha podem esperar ponto e vírgula. Se todos os campos aparecerem em uma única coluna, importe o arquivo e selecione explicitamente a vírgula como delimitador.
  • Tipos de dados: Programas de planilha podem remover zeros à esquerda, arredondar identificadores longos, reinterpretar datas ou exibir valores em notação científica. Importe códigos postais, números de conta, IDs de produtos e campos semelhantes como texto.
  • Quebras de linha e aspas: CSV válido pode conter campos entre aspas com vírgulas e quebras de linha incorporadas. Teste a saída no aplicativo de destino em vez de julgar a validade por uma prévia de texto simples.
  • Dados dinâmicos ausentes: Um arquivo HTML baixado pode conter apenas o shell inicial da página. Dados carregados por JavaScript, sessões de login, rolagem infinita ou paginação podem nunca chegar ao conversor.

Comparação de formato: HTML vs CSV

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

Comparação dos formatos de arquivo HTML e CSV
Propriedade .HTML HyperText Markup Language .CSV Comma-Separated Values
Padrão aberto Sim Sim
Compressão Sem compressão Sem compressão
Tamanho típico do arquivo Pequeno Pequeno
Abre num navegador web Sim, nativamente Sim, nativamente
Edição posterior Fácil Fácil
Suporte a metadados Básico Básico
Legível em texto simples Sim Sim
Mais usado para Publicação na web Intercâmbio de dados
Introduzido 1993 —
Desenvolvedor W3C / WHATWG —
Tipo MIME text/html text/csv

As informações sobre extensões e tipos de arquivo são fornecidas por File-Extensions.org

Já baixado

Este ficheiro já foi baixado. Para proteger a sua privacidade, apagámo-lo do nosso servidor logo após o download, por isso não pode ser baixado de novo. Se precisar dele outra vez, converta o ficheiro novamente.