Como manter zeros à esquerda em arquivos CSV: identificadores, números e importação em planilhas

Mantenha identificadores intactos ao importar CSV: zeros à esquerda, sequências longas de dígitos e códigos parecidos com datas, com dados fictícios e uma verificação em Python.

Ler em outro idioma

Tradução de um artigo do Ithy feita com auxílio de IA. Versão da fonte: 2026-10-24. Tradução publicada em: 2026-10-26. Ler o original. Os exemplos originais são identificados; esta não é uma revisão de um especialista humano nomeado.

Um arquivo CSV pode conter 00123 corretamente enquanto uma planilha mostra 123 depois de abri-lo. O arquivo armazena campos de texto; o aplicativo que importa decide como interpretá-los. Preserve os identificadores como texto na importação e confira o resultado salvo antes de substituir o original.

Um identificador não é necessariamente um número

Use aritmética para quantidades, como uma contagem ou um preço. Trate um código postal, uma chave de catálogo ou um identificador de conta de acordo com o seu significado: os dígitos podem ser rótulos, e não uma quantidade para somar. Zeros à esquerda, sequências longas de dígitos e códigos parecidos com datas podem ser danificados por uma conversão indesejada.

A orientação da Microsoft sobre zeros à esquerda e números grandes explica como importar as colunas adequadas como texto. Ela também documenta controles de conversão automática em versões compatíveis do Excel. Verifique a sua versão; as mesmas configurações não existem em todas as edições.

Um exemplo de CSV original e fictício

Estes são registros inventados para aprendizado, não dados reais de contas ou clientes. Baixe o CSV de exemplo.

item_id,reference,label,quantity
00123,12345678901234567890,JAN1,7
00007,98765432109876543210,1E10,12
ColunaSignificado pretendidoTipo na importação
item_idUm identificador de cinco caracteresTexto; preservar 00123 e 00007
referenceUma sequência longa de referênciaTexto; preservar todos os dígitos
labelUm código, não uma data nem um expoenteTexto; manter JAN1 e 1E10 literalmente
quantityUma contagemNúmero inteiro, após validação

O CSV não carrega essa tabela de tipos de coluna como um esquema imposto universalmente. Incluí-la nas instruções de repasse pode evitar que outro aplicativo adivinhe de outro modo.

Importe de forma deliberada no Excel

  1. Guarde uma cópia inalterada do CSV de origem.
  2. Use o fluxo de importação de texto/CSV do aplicativo, em vez de confiar nas suposições automáticas de um clique duplo.
  3. Confira a pré-visualização e defina as colunas parecidas com identificadores como texto antes de aplicar a conversão. Em um fluxo com consulta, inspecione ou substitua qualquer etapa automática de mudança de tipo, conforme necessário.
  4. Verifique o separador, a codificação e o tratamento de valores parecidos com datas.
  5. Carregue os dados e compare os identificadores exatos com a origem.
  6. Depois de exportar, inspecione o CSV resultante em um editor de texto e importe-o de novo usando os tipos de coluna pretendidos.

As instruções da Microsoft para importar e exportar arquivos de texto descrevem a diferença entre abrir e importar. Os nomes de menu variam conforme a plataforma e a versão. Um formato de exibição personalizado com cinco zeros pode mostrar 123 como 00123, mas isso não equivale a preservar o identificador de texto original nem a recuperar dígitos já perdidos.

Verifique as strings com Python

A documentação do módulo csv do Python descreve a leitura dos campos como strings por padrão, com exceções específicas para opções de conversão. Esta pequena verificação usa apenas a biblioteca padrão:

import csv

with open("identifier-example.csv", newline="", encoding="utf-8") as f:
    rows = list(csv.DictReader(f))

assert rows[0]["item_id"] == "00123"
assert rows[0]["reference"] == "12345678901234567890"
assert rows[1]["label"] == "1E10"
quantities = [int(row["quantity"]) for row in rows]
assert sum(quantities) == 19

As verificações convertem de propósito apenas a coluna quantity. Elas demonstram o conteúdo do arquivo de exemplo, não uma garantia sobre uma exportação ou um aplicativo de planilha qualquer.

O que não pode ser recuperado automaticamente

Se um identificador longo já foi arredondado e salvo por cima do original, mudar o formato da célula para texto não reconstrói os dígitos perdidos. Restaure a partir de uma origem inalterada. Se 123 pode significar 00123 ou 123, completá-lo com zeros é uma decisão de regra de negócio, não uma prova do valor original.

Colocar um campo CSV entre aspas é uma sintaxe para preservar delimitadores e outros caracteres; isso não força universalmente uma planilha a tratar o campo como texto. Um bom repasse informa a codificação, o separador, os tipos de coluna pretendidos e as regras de validação. Para um problema relacionado de compartilhamento de documentos, veja disponibilidade e portabilidade de fontes no Word.

Para sugerir uma correção, envie a afirmação específica e uma fonte que a sustente por meio de Ithy Ajuda. Metodologia de pesquisa · Mais guias de pesquisa.