Como Remover Linhas Duplicadas em Arquivos Excel e CSV com Python
Como Remover Linhas Duplicadas em Arquivos Excel e CSV com Python
A presença de registros duplicados em planilhas Excel e arquivos CSV é um dos problemas mais comuns na higienização de dados. Com a biblioteca
pandas, você consegue carregar o arquivo, identificar e eliminar linhas idênticas com um único comando, salvando o resultado limpo de forma automatizada.Python
import pandas as pd
def remover_duplicadas(caminho_entrada: str, caminho_saida: str, colunas_chave: list = None):
# Carrega o arquivo conforme a extensão (.csv ou .xlsx/.xls)
if caminho_entrada.endswith('.csv'):
df = pd.read_csv(caminho_entrada)
else:
df = pd.read_excel(caminho_entrada)
# Remove as linhas duplicadas
# subset: define colunas específicas; keep='first': mantém a primeira ocorrência
df_limpo = df.drop_duplicates(subset=colunas_chave, keep='first')
# Salva o resultado no formato correspondente
if caminho_saida.endswith('.csv'):
df_limpo.to_csv(caminho_saida, index=False, encoding='utf-8')
else:
df_limpo.to_excel(caminho_saida, index=False)
print(f"Sucesso! Registros originais: {len(df)} | Registros únicos: {len(df_limpo)}")
# Exemplo prático de uso
if __name__ == "__main__":
# Remove duplicatas considerando todas as colunas
remover_duplicadas("vendas.xlsx", "vendas_limpo.xlsx")
# Remove duplicatas baseando-se apenas em colunas específicas (ex: 'CPF' ou 'Email')
# remover_duplicadas("clientes.csv", "clientes_limpo.csv", colunas_chave=["email"])
Pontos-chave
- Parâmetro
keep: Controla qual registro manter ao encontrar duplicatas. Usekeep='first'(padrão) para manter a primeira ocorrência,keep='last'para a última, oukeep=Falsepara descartar todas as linhas que apresentem repetição. - Remoção por colunas específicas (
subset): Passar uma lista de nomes de colunas no argumentosubsetpermite considerar uma linha duplicada com base em identificadores únicos (como ID, e-mail ou CPF), ignorando variações nas demais colunas. - Alteração in-place: O método gera um novo DataFrame por padrão. Para alterar o DataFrame existente sem criar uma nova variável na memória, utilize o parâmetro
inplace=True. - Dependência do Excel (
openpyxl): Para ler e salvar arquivos no formato.xlsx, opandasutiliza a bibliotecaopenpyxlnos bastidores, sendo necessário garanti-la instalada no ambiente (pip install openpyxl).

Comentários
Postar um comentário